【发布时间】:2014-03-26 05:16:59
【问题描述】:
我有一个实体框架应用程序,其中客户和项目之间存在一对多关系。在级联组合框中访问数据。我最初使用延迟加载并且一切正常。由于我现在必须序列化我的数据,我需要以另一种方式加载我的数据。我想使用急切加载,但我不确定如何在我的情况下实现它。在 Projects 属性中,我尝试使用以下内容进行访问:
var a = context.Customers.Include("Project");
projects = (ObservableCollection<Project>)a;
但出现转换类型错误。有人对我访问产品数据有什么建议吗?谢谢。
public class ViewModel:INotifyPropertyChanged
{
RevisionModelContainer context = new RevisionModelContainer();
public ViewModel()
{
Customers = new ObservableCollection<Customer>();
}
private ObservableCollection<Customer> customers;
public ObservableCollection<Customer> Customers
{
get
{
return customers;
}
set
{
customers = value;
OnPropertyChanged("Customers");
}
}
private ObservableCollection<Project> projects;
public ObservableCollection<Project> Projects
{
get
{
var a = context.Customers.Include("Project");
projects = (ObservableCollection<Project>)a;
return projects;
}
set
{
projects = value;
OnPropertyChanged("Projects");
}
}
private Customer selectedCustomer;
public Customer SelectedCustomer
{
get { return selectedCustomer; }
set
{
try
{
selectedCustomer = value;
OnPropertyChanged("SelectedCustomer");
this.Projects = selectedCustomer.Projects;
OnPropertyChanged("Projects");
}
catch (Exception ex)
{
Debug.WriteLine("Seleceted Customer: " + ex.Message);
}
}
}
private Project selectedProject;
public Project SelectedProject
{
get { return selectedProject; }
set
{
try
{
selectedProject = value;
OnPropertyChanged("SelectedProject");
this.Programs = selectedProject.Programs;
OnPropertyChanged("Programs");
}
catch (Exception ex)
{
Debug.WriteLine("Selected Project: " + ex.Message);
}
}
}
【问题讨论】:
标签: c# entity-framework