【发布时间】:2014-08-03 23:40:04
【问题描述】:
我正在尝试创建一个 linq join 语句,该语句根据两个条件从表中连接一个对象
MESSAGES
======
ID (int)
UserID (Guid)
MESSAGEPART
======
MessageID (int)
IsPlaintext (bool)
MessageContent (nvarchar(max))
这是我想写的查询,本质上是:
var messages = from m in db.Message
join p in db.MessagePart on m.ID equals p.MessageID
and p.IsPlaintext equals false
很遗憾,这不起作用。这是我能做的最好的。
var messages = from m in db.Message
join p in
(from x in db.MessagePart where x.IsPlaintext == false select x)
on m.ID equals p.MessageID
这似乎有点冗长。有没有更优雅的实现方式?
【问题讨论】:
-
你能把第二个
join条件改为where吗? -
究竟有什么长篇大论?代码中有你不喜欢的特定部分吗?