实体框架:查找一对多的EntityKey值

时间:2009-07-13 13:26:14

标签: entity-framework entity-relationship

在EF中,可以编写以下行:

orderLine.OrderReference.EntityKey.EntityKeyValues[0].Value

导致相关OrderReference的ID。

如果我想知道与订单关联的orderLines的ID,会有什么解决方案?

1 个答案:

答案 0 :(得分:1)

您显示的行的目的是获取ID而不加载orderLine.Order。但是如果没有加载,你就无法获得集合的ID。因此,只需直接或从上下文中查看ID属性。

// from context
var lineIds = (from o in Context.Orders
               where o.Id = someId
               from l in o.Lines
               select l.Id).AsEnumerable();

// from loaded order
if (!order.Lines.IsLoaded) order.Lines.Load();
var lineIds = from l in order.Lines
              select l.Id;