实体框架Linq查询无关子表
本文关键字:查询 框架 Linq 实体 | 更新日期: 2023-09-27 18:06:03
我使用实体框架6.1.3来生成实体和数据模型。
如果我有两个表:Orders -> OrderDetails,它们之间有一个关系(OrderId),那么我可以使用以下查询
获得所有的订单和相关的OrderDetailsdbContext.Order().Include(a => a.OrderDetails);
但是如果我为Orders创建了一个视图(vOrder),那么在模型中vOrder和OrderDetails之间没有直接关系,尽管我可以通过OrderId上的连接将它们链接在一起。我怎么还能从vOrder和相关的OrderDetails中获得所有数据。下面的查询不能工作,除非我手动添加所有的导航属性。
dbContext.vOrder().Include(a => a.OrderDetails);
是否有一个简单的LINQ查询来完成预期的查询?谢谢你的帮助。
执行手动连接并返回包含两者的匿名对象
类似:
dbContext.vOrder
.GroupJoin(
dbContext.OrderDetails,
v=>v.orderid,
od=>o.orderid,
(v,od)=>new {v=v,od=od});
当然,你可以在vOrder上添加适当的导航属性,并做你所说的。
为什么不在视图中包含更多列(或者创建另一个包含所有所需数据的视图,如果您不想修改第一个视图)?