[英]Get distinct values of List in List
我正在努力與數據庫應用程序,我需要在其中獲得不同的值。 整個結構看起來像這樣
class A
{
public virtual ICollection<B> Bs { get; set; }
}
class B
{
public virtual C C { get; set; }
}
class C
{
public int x {get; set;}
}
這是來自db的模型,我有所有A's
子集。 現在,我需要從所有這些A's
獲取所有distinct
值Cx
。 所以基本上像
db.A.Where(something).SelectMany(s => s.Bs.SelectMany(t => t.C.x).ToList().Distinct()).ToList()
但是它告訴我,第二個SelectMany
不能從用法中推斷出來。
像這樣修復您的代碼:
SelectMany(s => s.Bs.Select(t => t.C.x)
請注意, B
不是A
的成員,而是Bs
,並且第二個SelectMany
應該是Select
。
你可以試試這個嗎? 我也認為需要添加.Include
語句:
db.A.Where(something)/*.Include(a => a.Bs.Select(b => b.C))*/
.SelectMany(x => x.Bs.Select(b => b.C.x)).Distinct();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.