C# 使用实体框架绑定到WPF数据网格。带索引问题的路径
将WPF DataGrid控件绑定到实体框架的实体列表时遇到问题: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")
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();