簡體   English   中英

獲取列表中列表的不同值

[英]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獲取所有distinctCx 所以基本上像

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

了解更多https://stackoverflow.com/a/25564528/2946329

你可以試試這個嗎? 我也認為需要添加.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM