2017-04-05 112 views
0

我想将数据源设置为查询下方的ComboBox。ItemsSource与Linq(WPF)的组合框

cbLJoin.ItemsSource = (from ud in dataContext.UserDatas 
        join a in dataContext2.Autos 
        on ud.Id equals a.Id 
        select new 
        { 
         ud.Id, 
         ud.LastName, 
         a.AutoName, 
         a.Color 
        }).ToList(); 

但我得到了错误。

enter image description here

修订,结果到组合框:

enter image description here

+0

尝试将linq结果存储到某个变量中,然后将其分配给itemsource。 – Parag

+2

您无法将'dataContext'与'dataContext2'联系起来,这正是错误告诉您的。 –

+0

那么我怎样才能加入2个datacontext?这是另一种方式来做到这一点? – 4est

回答

1

当然,你可以不参加2的datacontext在一个查询。 你可以做2个查询并加入他们的结果。 不能测试,但我认为它应该工作。

var users = (from ud in dataContext.UserDatas 
       select new 
       { 
        ud.Id, 
        ud.LastName 
       }).ToList(); 

var autos = (from a in dataContext2.Autos 
       select new 
       { 
        a.Id, 
        a.AutoName, 
        a.Color 
       }).ToList(); 

var result = ( from ud in users 
        join a in autos on ud.Id equals a.Id 
        select new 
        { 
         ud.Id, 
         ud.LastName, 
         a.AutoName, 
         a.Color 
        }).ToList(); 
+0

非常感谢你TriV – 4est

+0

多一个:为什么绑定到组合框后的结果会导致在屏幕截图上(更新后) – 4est

+0

那么你的数据源的问题是什么? – TriV