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是開放的,看起來它可能會解決我的問題。
你是正確的#1151正在跟踪這種情況。還有一些設計會議記錄總結了將在EF7中提供的API - https://github.com/aspnet/EntityFramework/wiki/Design-Meeting-Notes:- 2015年1月8日。