Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
项目通过Linq(WPF)进入组合框_Wpf_Linq_Combobox_Datacontext_Itemssource - Fatal编程技术网

项目通过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。。。