【问题标题】:Entity Framework: Find EntityKey Values for One-to-Many实体框架:为一对多查找 EntityKey 值
【发布时间】:2010-11-10 07:19:22
【问题描述】:

在 EF 中,可以写成下面这行:

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

这会产生关联 OrderReference 的 ID。

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

【问题讨论】:

    标签: entity-framework entity-relationship


    【解决方案1】:

    你展示的那一行的重点是在不加载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;
    

    【讨论】:

    • 啊,好吧,我以为 ID 也已加载。因为它们确实在不同的表中,所以这毕竟是有道理的:)。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多