博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2010-11-25 14:02  steve.z  阅读(538)  评论(1编辑  收藏  举报

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