我有以下型號的EntityFramework核心查詢相關數據過濾
Deal.cs
public Guid Id { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public double? Price { get; set; }
public Guid UserId { get; set; }
public User User { get; set; }
User.cs
public Guid Id { get; set; }
public string Name { get; set; }
public string ResumptionCookie { get; set; }
public List<Deal> Deals { get; set; }
我試圖讓誰目前擁有的所有用戶與特定代碼達成協議。我可以做一個讓所有的用戶和寫一個大的LINQ查詢,但必須有一個更優雅的方式。
我看了documentation,但這並不是我正在尋找的東西,我一直無法弄清楚。
如何使用:'db.Users.Where(x => x.Deals.Any(y => y.Code ==「your_givenCode」));' –
啊,是的,這將返回一個IEnumerable但就EntityFramework而言,這是優化的嗎?我想我需要使用'.Include'或'.Collections'。我可能在這裏優化,但我想避免加載內存中的所有數據並在過濾後進行過濾。 –
martinni39
上面的代碼是延遲加載,即當使用ToList(),First(),Count()和其他方法進行查詢時的加載。但我懷疑是否EF內核支持延遲加載。 –