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
C# 使用实体框架绑定到WPF数据网格。带索引问题的路径_C#_Wpf_Entity Framework_Xaml_Data Binding - Fatal编程技术网

C# 使用实体框架绑定到WPF数据网格。带索引问题的路径

C# 使用实体框架绑定到WPF数据网格。带索引问题的路径,c#,wpf,entity-framework,xaml,data-binding,C#,Wpf,Entity Framework,Xaml,Data Binding,将WPF DataGrid控件绑定到实体框架的实体列表时遇到问题:List。 首先,我从ViewModel中的DB获得它。包含的导航属性: var db = new Entities(); var resQuery = db.ClassOneObjects .Include("Building.Material") .Include("Building.BAStreet.Area.District")

将WPF DataGrid控件绑定到实体框架的实体列表时遇到问题:
List
。 首先,我从ViewModel中的DB获得它。包含的导航属性:

var db = new Entities();
var resQuery = db.ClassOneObjects
                .Include("Building.Material")
                .Include("Building.BAStreet.Area.District")
                //...
                .Include("ClassOneSources").Where(x => true);
Results = resQuery.ToList();
然后尝试绑定到XAML中的Datagrid:

<DataGrid ItemsSource="Results">
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Building.BAStreet.Area.District.DistrictName}"/>
            <DataGridTextColumn Binding="{Binding Building.Material.MaterialShortName}"/>
            <DataGridTextColumn Binding="{Binding ClassOneSources[0].URL}"/>
        </DataGrid.Columns>
    </DataGrid>
我想出了一个办法:

EF以
HashSet
如果我把它投到如下列表中:

Results[0].ClassOneSources = Results[0].ClassOneSources.ToList();
然后它绑定OK(只绑定
结果的第一项
当然的集合)。 所以绑定到HashSet不起作用。有没有办法让EF生成
列表
而不是
哈希集

数据库:

实体框架数据模型:


输出窗口中有绑定错误吗?@blindmeis,我有一个错误。B.t.w.我不知道输出中的绑定错误。请看一下更新。
Results[0].ClassOneSources = Results[0].ClassOneSources.ToList();