EF6具有DbSet.Include的重载,它接受一个字符串参数,该参数表示在查询结果中返回的以点分隔的相关对象列表.它对于多级对象图中的预加载实体很有用.例如:
var order = await _dbContext.Orders
.Include(o => o.Customer)
.Include("OrderDetails.Product") // dot-delimited path
.SingleOrDefaultAsync(o => o.OrderId == id);
Run Code Online (Sandbox Code Playgroud)
这将返回两个相关的订单详细信息,并通过生成连接OrderDetail和Product表的SQL语句来填充每个详细信息的Product属性.
我正在寻找一种方法来使用EF7,但我没有看到DbSet.Include的重载接受字符串路径参数.EF7是否提供了与EF6 API实现相同结果的方法?
PS.我刚刚注意到问题#1151是开放的,看起来它可能会解决我的问题.