0

给定一个Order具有许多OrderItems 的实体,而每个实体都有一个 s,Discount我们试图检索所有具有至少一个折扣的订单,该折扣比50%连接订单和订单商品要多。

有很多关于在 Linq-To-Entities 中加入两个实体的文章,但它们的共同点是它们都依赖于作为导航属性公开的外键:

db.Orders.Join(
    db.OrderItems.Where(i => i.Discount > 50),
    o => o.Id,
    i => i.OrderId)

但是,我们OrderItem没有OrderId财产。Order具有标识关系的属性OrderItems,外键由 EF4.1 CodeFirst 管理。

问题:有没有办法通过指示o => o.OrderItems识别关系并让 EF 找出用于连接的 FK 来执行连接?


在后台:我们尝试在DevArt dotConnect.Any上使用,OrderItems但存在一个重大问题:

db.Orders.Where(o => o.OrderItems.Any(i => i.Discount > 50))
4

0 回答 0