1
我正在使用实体框架。我有2个表格:Unit
和Message
。他们看起来像:基于其他表值在JOIN上过滤数据集
public class Unit
{
int id;
DateTime date;
}
public class Message
{
int id;
int unitId;
DateTime date;
}
我想参加每Unit
为每Message
。
我做这样的事情:
DateTime from = DateTime.Now;
db.Unit.Join(
db.Message.Where(m => m.date >= from),
u => u.id,
s => s.unitId,
(u, s) => new
{
MessageTime = s.date,
UnitTime = u.date
}
)
.AsEnumerable()
.Select(r => new
{
MessageTime = MessageTime,
UnitTime = UnitTime
}
)
.ToList()
的Unit
类包含date
,我想要做的联接时使用。我只想从Message
那里得到date
> = unit.date
的消息。我知道我可以做.Where(x => x.UnitTime >= x.MessageTime)
,但我不想在此之后进行连接和过滤。
是否可以基于其他表进行过滤?
这就是我真正结束了,非常感谢! – Nikola