LINQ to SQL中数据类的包含关系

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
原文地址:https://www.cnblogs.com/zxhoo/p/1887593.html