7

EF6 具有 DbSet.Include 的重载,它接受一个字符串参数,该参数表示要在查询结果中返回的相关对象的点分隔列表。它对于在多级对象图中预先加载实体很有用。例如:

var order = await _dbContext.Orders
    .Include(o => o.Customer)
    .Include("OrderDetails.Product") // dot-delimited path
    .SingleOrDefaultAsync(o => o.OrderId == id);

这将返回相关的订单详细信息并通过生成连接 OrderDetail 和 Product 表的 SQL 语句填充每个详细信息的 Product 属性。

我正在寻找一种使用 EF7 执行此操作的方法,但我没有看到接受字符串路径参数的DbSet.Include的重载。EF7 是否提供了一种实现与 EF6 API 相同结果的方法?

PS。我刚刚注意到问题#1151是开放的,看起来它可以解决我的问题。

4

1 回答 1

8

你是对的,#1151正在跟踪这种情况。还有一些设计会议笔记总结了 EF7 中可用的 API - https://github.com/aspnet/EntityFramework/wiki/Design-Meeting-Notes:-January-8,-2015

于 2015-01-19T22:30:41.473 回答