项目通过Linq(WPF)进入组合框
我想在查询下面的组合框中设置为数据源项目通过Linq(WPF)进入组合框,wpf,linq,combobox,datacontext,itemssource,Wpf,Linq,Combobox,Datacontext,Itemssource,我想在查询下面的组合框中设置为数据源 cbLJoin.ItemsSource = (from ud in dataContext.UserDatas join a in dataContext2.Autos on ud.Id equals a.Id select new { ud.
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();
但我犯了个错误
更新了,结果进入组合框:
当然,您不能在一个查询中加入两个datacontext。 您可以进行两次查询,并将它们的结果连接起来。 不能测试,但我认为它应该工作
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();
尝试将linq结果存储到某个变量中,然后将其分配给itemsource。您不能将
dataContext
与dataContext2
联接,这正是错误告诉您的。那么如何联接2个dataContext呢?这是另一种方式吗?该问题与当前指定的所有标记无关。请根据使用的ORM使用实体框架
或linq to sql
。还有一个问题:为什么绑定到combobox后的结果会显示为屏幕截图(更新帖子),那么您的数据源有什么问题?我喜欢:cbLJoin.ItemsSource=result………结果会显示为屏幕上的结果……但应该是:1,Abc,Kia,就这样吧。正如我所知,组合框将有值字段和显示字段。您可以指定值field=Id,并显示field=LastName或AutoName。。。