Mat*_*att 5 .net mysql entity-framework .net-4.0
我有一个消息表,其中每行都有发送该消息的用户的 ID。但我无法编辑数据库,并且没有外键。没有任何关系可以加入吗?
var msgs = (from m in dbContext.messages
join a in dbContext.users on m.userid equals a.id into sender
where (m.date > LastReceivedDate)
orderby m.date
select new
{
Sender = sender.FirstOrDefault(),
Message = m
})
Run Code Online (Sandbox Code Playgroud)
这就是我的代码,它可以运行,但不会返回任何内容。当我取消连接时,我得到了结果。
谢谢
除了我对Craig Stuntz的答案的评论之外,如果您放弃,您可以消除第二个查询,并在单个查询中将其全部返回,.FirstOrDefault()并且可以处理可能存在的 Sender(null如果联接没有出现用户)。
var msgs = (from m in dbContext.messages
join a in dbContext.users on m.userid equals a.id into sender
where (m.date > LastReceivedDate)
orderby m.date
select new
{
Sender = sender,
Message = m
})
Run Code Online (Sandbox Code Playgroud)