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 回答