0

これが起こっていることです。以下をデータグリッドにバインドすると

var myQ = myDataContext.MyEntity1.Where(e1 => e1.ID == aNum);
datagrid1.ItemSource = myQ

データグリッドにデータが表示されました。

しかし、私がそうするなら

var myQ = myDataContext.MyEntity1.Join(myDataContext.MyEntity2, e1=>e1.ID, e2 =>e2.ID, (e1,e2) =>new {e1.something, e2.something};
datagrid1.ItemSource = myQ;

データグリッドにデータをロードできませんでした。なんで?非同期とは何の関係がありますか?では、なぜ.Whereが機能し、.Joinが機能しないのでしょうか。データグリッドを更新してロードするには、何を呼び出す必要がありますか?

4

2 に答える 2

1

差分アプローチを提案できますか?

var myQ =  (from a in myDataContext.E1
            join b in myDataContext.E2 on a.id equals b.id
            select new {a.something, b.something}).ToList();
datagrid1.ItemSource = myQ;

それが役に立てば幸い!

編集

var myQ =  (from a in myDataContext.E1
            join b in myDataContext.E2 on a.id equals b.id
            select a).ToList();
datagrid1.ItemSource = myQ;
于 2012-07-03T02:02:36.173 に答える
0

このツールをまだ使用していない場合は、LinqPadをお勧めします。これは、Linq ステートメントの出力を正確に確認するのに役立ち、Linq クエリが生成する正確な SQL も確認できます。これを使用して、Linq をすばやく簡単にテストします。

お役に立てれば。幸運を!

于 2012-07-02T22:42:59.447 に答える