[英]Entity Framework Core 5 turn off loading NavigationProperties
從DBContext
獲取數據時,如何在 EF Core 5 中關閉加載導航屬性?
我試圖添加:
public DataContext(DbContextOptions<DataContext> options)
: base(options)
{
this.ChangeTracker.LazyLoadingEnabled = false;
}
但導航屬性仍在加載。
編輯:我添加到AddDBContext
選項
UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);
看起來這很有效。
希望它不會破壞其他任何東西?
Edit-2 UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);
- 好吧,這不是我需要的......
我得到如下數據:
List<Data> dataList = await _dataContext.Data.Where(w => idMeters.Contains(w.IdMeter.Value)).ToListAsync();
結果我有帶有 IdMeterNavigation 的數據 object,而 IdMeterNavigation 有另一個 NavigationProperties...我不想加載任何 NavigationProperties 我該怎么做?
我什至從 class 字段中刪除了virtual
並且它們仍然被加載。
EF 的默認行為是不加載相關實體。 為了加載相關實體,您可以使用:
所以,對我來說,您似乎啟用了延遲加載,或者您實際上使用“選擇”LINQ 擴展或某種自動映射器軟件進行了SELECT加載。
檢查您是否確定沒有啟用延遲加載... https://docs.microsoft.com/en-us/ef/core/querying/related-data/lazy
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.