2010-11-29 5 views
1

今、prop1.where(p => p.a == 1)というXのリストを返したいと思います。 私はこれをSelect節で書くことができますが、私のオブジェクトには多くの特性があります。オブジェクトに属する属性(リスト<Foo>)

このような何か(ただし、真の構文で):

ctx.MyObject.Where(p=>p.state==1 && prop1.where(p=>p.a==1)); 

EDIT:この小道具とobj1intList<Foo> PROP1)とFooは(int B、C int)があります。

+0

http://tinyurl.com/soをお読みくださいあなたの質問をより明確にするためのヒント。 –

+0

私はあなたの質問にもっと明確にする必要があると思います、あなたが何を求めているのかははっきりしていません。 –

+0

あなたのコードは私にとって有効な構文のようです。 「真の構文」とはどういう意味ですか? – CodesInChaos

答えて

3

あなたが何をしたいのかによっては、代わりにWhereAnyを試してみてください。

ctx.MyObject.Where(p=>p.state==1 && prop1.Any(p2 => p2.a == 1)) 

それとも、あなたがSelectを使用することができます述べたように:

ctx.MyObject 
    .Where(p => p.state == 1) 
    .Select(p => new 
     { 
      state = p.state, 
      prop1 = p.prop1.Where(p2 => p2.a == 1), 
      // other fields... 
     } 
+0

私はこの方法を知っていますが、私は非常に多くの特性を持っています!私は手でそれらを設定したくありません。 –

+0

私は、これを行うための別の方法がある場合は、反射が必要だと思う、それは良い方法ではないときに、マークの答えのようにすることができます。 –

関連する問題