【发布时间】:2010-11-10 07:19:22
【问题描述】:
在 EF 中,可以写成下面这行:
orderLine.OrderReference.EntityKey.EntityKeyValues[0].Value
这会产生关联 OrderReference 的 ID。
如果我想知道与订单关联的 orderLines 的 ID,解决方案是什么?
【问题讨论】:
标签: entity-framework entity-relationship
在 EF 中,可以写成下面这行:
orderLine.OrderReference.EntityKey.EntityKeyValues[0].Value
这会产生关联 OrderReference 的 ID。
如果我想知道与订单关联的 orderLines 的 ID,解决方案是什么?
【问题讨论】:
标签: entity-framework entity-relationship
你展示的那一行的重点是在不加载orderLine.Order的情况下获取ID。但是您无法在不加载的情况下获取集合的 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;
【讨论】: