有没有办法利用实体框架将多个表中的多对多关系绑定到C#Linq中的一个对象?
在PHP的Yii框架中,您可以加入具有多种关系的模型。每个都返回单独模型的预定义数组。
例如,我有多个卖家,他们有多个客户,他们有多个销售订单,他们有多个销售订单项。有没有办法将所有这些数据一起返回1个对象?
或者是拆分多个查询?
答案 0 :(得分:0)
我相信如果你正确设置了数据模型,EF会自动处理这个问题。
假设您在表People
和Projects
之间存在多对多关系。如果您创建一个名为PeopleProjects
的表,其中只有两个字段是两个表的外键,那么EF将创建一个" Projects" People
对象上的集合属性,以及" People" 'Projects"上的集合属性对象
答案 1 :(得分:0)
如果你想确保没有涉及延迟加载,这将是在一个巨大的对象图中获取所有内容的方法:
var obj = dbContext.Sellers.Include(
r => r.Customers.Select(
r2 => r2.SalesOrders.Select(
r3 => r3.Items
)
)
).SingleOrDefault(seller => seller.Id == id)