私は別の値を取得する必要があるデータベースアプリケーションでは苦労しています。全体の構造は、これは、DBからのモデルであり、私はすべてのA's
のサブセットを持っている、ややこのリスト内のリストの別の値を取得
class A
{
public virtual ICollection<B> Bs { get; set; }
}
class B
{
public virtual C C { get; set; }
}
class C
{
public int x {get; set;}
}
のように見えます。今度はdistinct
の値C.x
をすべてA's
から取得する必要があります。 そこで、基本的
db.A.Where(something).SelectMany(s => s.Bs.SelectMany(t => t.C.x).ToList().Distinct()).ToList()
のようなもの。しかし、それは第二SelectMany
は用法から推測することができないことを、私に語りました。 B
がA
のメンバーが、Bs
ではなく、またあなたの第二SelectMany
はSelect
でなければならないこと
SelectMany(s => s.Bs.Select(t => t.C.x)
注:
可能な重複:https://stackoverflow.com/questions/18602923/selectmany-cannot-infer-type-argument-why-not –