【发布时间】:2013-05-24 17:35:39
【问题描述】:
我有一个这样的sql语句:
DECLARE @destinations table(destinationId int)
INSERT INTO @destinations
VALUES (414),(416)
SELECT *
FROM GroupOrder grp (NOLOCK)
JOIN DestinationGroupItem destItem (NOLOCK)
ON destItem.GroupOrderId = grp.GroupOrderId
JOIN @destinations dests
ON destItem.DestinationId = dests.destinationId
WHERE OrderId = 5662
我正在使用实体框架,我很难将此查询输入 Linq。 (我写上面的查询的唯一原因是帮助我概念化我在寻找什么。)
我有一个 GroupOrder 实体的 IQueryable 和一个整数列表,它们是我的目的地。
看了这个之后,我意识到我可能只需要做两个连接(比如我的 SQL 查询)就可以得到我想要的。
但是这样做似乎有点奇怪,因为 GroupOrder 对象上已经有一个 DestinationGroupItem 对象列表。
当我有 GroupOrder 的 IQueryable 列表时,我有点困惑如何使用 GroupOrder 上的 Navigation 属性。
另外,如果可能的话,我想一次性访问数据库。 (我想我可以做几个foreach 循环来完成这项工作,但它的效率不如对数据库的单个 IQueryable 运行。)
注意:与查询 linq 语法相比,我更喜欢流畅的 linq 语法。但是乞丐不能挑剔,所以我会尽我所能。
【问题讨论】:
标签: c# .net linq entity-framework navigation-properties