0

私はエンティティフレームワークの初心者です。クエリを作成するには、あなたの助けが必要です。

私は次のテーブルを持っています:

表1

idTable1  myDataTable1

表2

idTable2 myDataTable2 #idTable1 #idTable3

table3

idTable3 myDataTable3

次のSQLリクエストに相当するものが必要です:

SELECT * FROM table1 t1
    INNER JOIN table2 t2
    WHERE t1.idTable1 = t2.idTable1 
        and t2.idTable3 = 4;

私はそのようなentityframeworkでこれをやろうとしますが、うまくいきません:

List<table1> l = context.table1.Where(tab => (tab.table2.idTable3 == 4)).ToList<table1>();

問題は、「table2」がEntityCollectionであるということです。「idTable3」を呼び出すには、「ElementAt」を含むものを選択する必要がありますが、すべてのtable2要素を検索したいのですが...

何か考えはありますか?

よろしく

編集:現時点では、次のLinqクエリを使用していますが、アイデアがあれば...

from t1 in context.table1 from t2 in t1.table2 where t2.table3.idTable3 == 4 select t1
4

1 に答える 1

1
var result = context.table1.Where(x => x.table2.Any(y => y.idTable3 == 4)).ToList();
于 2013-02-21T10:53:52.823 に答える