1.主类中包含子类的属性类型用EntitySet<子类>,子类包含主类的属性类型用EntityRef<主类>
2.禁用延迟加载:
DataContext dbContext = new DataContext();
dbContext.DeferredLoadingEnabled = false;
并设置加载主类时,同时加载子类集合(需要设置LoadOptions属性):
DataLoadOptions loadoption = new DataLoadOptions();
loadoption.LoadWith<Customers>(cust => cust.Orders);
dbContext.LoadOptions = loadoption;
3.
- 一对一关系:两个类中都是EntityRef
- 一对多关系:主记录中EntitySet,子记录中EntityRef
- 多对多关系:分解成两个一对多
- 自关联:既有EntitySet又有EntityRef