1
我有用戶實體並且涉及到很多產品實體,我需要一種方法來獲取用戶實體的子集而不是所有產品的產品。獲取實體導航屬性的子集
var user = User.Include("Product").ToList(); // it returnes all the products.
我需要一種方式來返回用戶只有15個產品。
在此先感謝...
我有用戶實體並且涉及到很多產品實體,我需要一種方法來獲取用戶實體的子集而不是所有產品的產品。獲取實體導航屬性的子集
var user = User.Include("Product").ToList(); // it returnes all the products.
我需要一種方式來返回用戶只有15個產品。
在此先感謝...
,無法篩選或在其中加載到導航屬性其他方式影響的數據。當你使用急切加載或相關實體的延遲加載時,EF只是在沒有任何條件的情況下執行LEFT OUTER JOIN。
您可以與用戶返回匿名對象和它的15種產品:
var query = from u in db.Users
select new {
User = u,
Top15Products = u.Products.Take(15)
};
注意 - 如果你有那麼用戶實體裝載可以裝載相關實體的過濾收集:
var user = db.Users.Find(1);
db.Entry(user)
.Collection(u => u.Products)
.Query()
.Take(15)
.Load();
這種方法在Loading Related Entities文章中有描述。
感謝您的回覆,我已經知道這個解決方案,但需要看看是否有更優雅的方式。 – Wasim
非常感謝,第二種方法正是我所需要的。 '.Query()'函數的使用是我在這裏失蹤的部分。 –