C# TreeView未从实体框架填充HierarchycalDataTemplate数据
我已经在C# TreeView未从实体框架填充HierarchycalDataTemplate数据,c#,entity-framework,treeview,C#,Entity Framework,Treeview,我已经在HierarchicalDataTemplate上看了好几个小时的帖子了,似乎都不知道哪里出了问题。我有一个使用实体框架6检索的模型Person public partial class Person { [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] public Person(
HierarchicalDataTemplate
上看了好几个小时的帖子了,似乎都不知道哪里出了问题。我有一个使用实体框架6检索的模型Person
public partial class Person
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Person()
{
this.Complaints = new HashSet<Complaint>();
this.PeopleXAddresses = new HashSet<PeopleXAddress>();
}
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int StreetID { get; set; }
public string Area { get; set; }
public string Phone { get; set; }
public string Ext { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Complaint> Complaints { get; set; }
public virtual Person People1 { get; set; }
public virtual Person Person1 { get; set; }
public virtual Street Street { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<PeopleXAddress> PeopleXAddresses { get; set; }
}
我已经使用调试器进行了检查,并且在PeopleXAddress
XMAL:
public partial class PeopleXAddress
{
public int PersonId { get; set; }
public int Id { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
public virtual Person Person { get; set; }
}
<TreeView ItemsSource="{Binding PeopleList}"
Grid.Column="0"
Grid.Row="1"
Grid.RowSpan="8"
>
<TreeView.Resources>
<HierarchicalDataTemplate ItemsSource="{Binding PeopleXAddresses}"
DataType="{x:Type this:Person}">
<StackPanel Orientation="Horizontal">
<Label Content="{Binding LastName}"
Foreground="Black" />
<Label Content="{Binding FirstName}"
Foreground="Black" />
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type this:PeopleXAddress}">
<Label Content="{Binding Path=Address}"
Foreground="Black" />
</DataTemplate>
</TreeView.Resources>
</TreeView>
更新当我检查此人的PeopleXAddress时,他们现在出现了。但只有我检查过其他人的人没有。经过一天的探索,我发现问题在于我从哪里获得数据
public List<Person> People()
{
using (var context = new SewerMaintenanceEntities())
{
return context.People
.Select(p=> p)
.Include(p=>p.PeopleXAddresses)
.ToList();
}
}
public List People()
{
使用(var context=new SewerMaintenanceEntities())
{
返回上下文
.选择(p=>p)
.Include(p=>p.peoplex地址)
.ToList();
}
}
public List<Person> People()
{
using (var context = new SewerMaintenanceEntities())
{
return context.People
.Select(p=> p)
.Include(p=>p.PeopleXAddresses)
.ToList();
}
}