Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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/4/wpf/13.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
C# 使用LINQ从SQL数据库中的联接表中获取DataGrid项_C#_Wpf_Linq_Entity Framework_Linq To Entities - Fatal编程技术网

C# 使用LINQ从SQL数据库中的联接表中获取DataGrid项

C# 使用LINQ从SQL数据库中的联接表中获取DataGrid项,c#,wpf,linq,entity-framework,linq-to-entities,C#,Wpf,Linq,Entity Framework,Linq To Entities,我的SQL Server Express数据库中有这些表 我的目标是将“UserInfo”表与“RelCU”表连接起来,并将结果显示在wpf数据网格中 我尝试了这些代码,但在运行项目时出错 IQueryable<RelCU> Query = from u in dbEntities.UserInfoes join m in dbEntities.RelCUs on u.Use

我的SQL Server Express数据库中有这些表

我的目标是将“UserInfo”表与“RelCU”表连接起来,并将结果显示在wpf数据网格中

我尝试了这些代码,但在运行项目时出错

IQueryable<RelCU> Query =  from u in dbEntities.UserInfoes
                           join m in dbEntities.RelCUs
                           on u.UserID equals m.UserID into temp
                           from j in temp.DefaultIfEmpty()
                           select j;
DataGridRegisteredUsers.ItemsSource = Query;
IQueryable Query=来自dbEntities.UserInfoes中的u
在dbEntities.RelCUs中加入m
u.UserID等于m.UserID到temp
来自临时DefaultIfEmpty()中的j
选择j;
DataGridRegisteredUsers.ItemsSource=Query;
XAML:

  <DataGrid x:Name="DataGridRegisteredUsers" IsReadOnly="True" AutoGenerateColumns="False" HorizontalContentAlignment="Stretch" Margin="0,0,-1,-1"
                                  FlowDirection="RightToLeft" Opacity="0.9" FontFamily="B Nazanin" FontSize="15">
                            <DataGrid.Columns>
                                <DataGridTextColumn Binding="{Binding Path=UserInfoes.UserID}" IsReadOnly="True"
                                                    Header="ID" />
                                <DataGridTextColumn Binding="{Binding Path=UserInfoes.FirstName}"
                                                    Header="First Name" />
                                <DataGridTextColumn Binding="{Binding Path=UserInfoes.LastName}"
                                                    Header="Last Name" />
                                <DataGridTextColumn Binding="{Binding Path=RelCUs.Score}"
                                                    Header="Score" />
                                <DataGridTextColumn Binding="{Binding Path=RelCUs.Status}"
                                                    Header="Status" />

                            </DataGrid.Columns>
                        </DataGrid>
 <DataGrid x:Name="DataGridRegisteredUsers" IsReadOnly="True" AutoGenerateColumns="False" HorizontalContentAlignment="Stretch" Margin="0,0,-1,-1"
                              FlowDirection="RightToLeft" Opacity="0.9" FontFamily="B Nazanin" FontSize="15">
                        <DataGrid.Columns>
                            <DataGridTextColumn Binding="{Binding Path=ID}" IsReadOnly="True"
                                                Header="ID" />
                            <DataGridTextColumn Binding="{Binding Path=FirstName}"
                                                Header="First Name" />
                            <DataGridTextColumn Binding="{Binding Path=LastName}"
                                                Header="Last Name" />
                            <DataGridTextColumn Binding="{Binding Path=Score}"
                                                Header="Score" />
                            <DataGridTextColumn Binding="{Binding Path=Status}"
                                                Header="Status" />

                        </DataGrid.Columns>
                    </DataGrid>


谢谢

您正在使用
LEFT JOIN
,并且
选择j
,因此
j
可以为空:

  IQueryable<RelCU> Query = from u in dbEntities.UserInfoes
                            join m in dbEntities.RelCUs
                            on u.UserID equals m.UserID into temp
                            from j in temp.DefaultIfEmpty()
                            select new
                            {
                                ID=u.UserID, 
                                FirstName=u.FirstName,
                                LastName=u.LastName,
                                Score = j == null? 0 : j.Score,
                                Status = j == null? "" :j.Status
                            };
  DataGridRegisteredUsers.ItemsSource = Query;
IQueryable Query=来自dbEntities.UserInfoes中的u
在dbEntities.RelCUs中加入m
u.UserID等于m.UserID到temp
来自临时DefaultIfEmpty()中的j
选择新的
{
ID=u.UserID,
FirstName=u.FirstName,
LastName=u.LastName,
分数=j==null?0:j.分数,
状态=j==null?”:j.Status
};
DataGridRegisteredUsers.ItemsSource=Query;
XAML:

  <DataGrid x:Name="DataGridRegisteredUsers" IsReadOnly="True" AutoGenerateColumns="False" HorizontalContentAlignment="Stretch" Margin="0,0,-1,-1"
                                  FlowDirection="RightToLeft" Opacity="0.9" FontFamily="B Nazanin" FontSize="15">
                            <DataGrid.Columns>
                                <DataGridTextColumn Binding="{Binding Path=UserInfoes.UserID}" IsReadOnly="True"
                                                    Header="ID" />
                                <DataGridTextColumn Binding="{Binding Path=UserInfoes.FirstName}"
                                                    Header="First Name" />
                                <DataGridTextColumn Binding="{Binding Path=UserInfoes.LastName}"
                                                    Header="Last Name" />
                                <DataGridTextColumn Binding="{Binding Path=RelCUs.Score}"
                                                    Header="Score" />
                                <DataGridTextColumn Binding="{Binding Path=RelCUs.Status}"
                                                    Header="Status" />

                            </DataGrid.Columns>
                        </DataGrid>
 <DataGrid x:Name="DataGridRegisteredUsers" IsReadOnly="True" AutoGenerateColumns="False" HorizontalContentAlignment="Stretch" Margin="0,0,-1,-1"
                              FlowDirection="RightToLeft" Opacity="0.9" FontFamily="B Nazanin" FontSize="15">
                        <DataGrid.Columns>
                            <DataGridTextColumn Binding="{Binding Path=ID}" IsReadOnly="True"
                                                Header="ID" />
                            <DataGridTextColumn Binding="{Binding Path=FirstName}"
                                                Header="First Name" />
                            <DataGridTextColumn Binding="{Binding Path=LastName}"
                                                Header="Last Name" />
                            <DataGridTextColumn Binding="{Binding Path=Score}"
                                                Header="Score" />
                            <DataGridTextColumn Binding="{Binding Path=Status}"
                                                Header="Status" />

                        </DataGrid.Columns>
                    </DataGrid>


显示了什么错误?出现了什么错误?您正在使用
左连接
,并且
选择j
,因此
j
可以
null
@EdiG.&visgu minhas:我收到了此错误:EntityFramework.dll中发生了类型为“System.NotSupportedException”的未处理异常