LINQ to SQL多个DataContext-s

Alb*_*ert 11 sql linq datacontext linq-to-sql

我正在尝试制定有关如何组织DataContexts的最佳策略.我们工作的典型数据库有50到100个表,通常采用第三范式,并且它们之间有很多关系.我想我们有两个选择:

  1. 将所有表放在一个上下文中.这将确保我们所做的任何事情都将以正确的顺序提交到数据库中.问题是LINQ设计师将会有50多个表格,我担心性能可能会受到影响.
  2. 根据表的逻辑分组创建多个数据上下文.问题在于,将存在关系的一侧将在一个上下文中而另一侧在另一个上下文中的位置.我们必须手动处理以正确的顺序提交两个上下文.

有没有推荐的做法来处理这个问题?

更多细节:

我想在LINQ to SQL之上创建自己的实体和工作单元.实体将在xml模型文件中定义,其中还将指定到LINQ实体的映射.自定义工具将根据模型生成我的实体(POCO).客户端代码只与我的实体和我的工作单元进行交互; 从不直接使用DataContext或LINQ实体.但是我不想复制LINQ to SQL提供的开箱即用,所以我想使用底层的LINQ DataContext.这意味着我不能在不同的数据上下文中有两个订单,因为无法将我的POCO订单映射到它们.

Amy*_*y B 0

您应该创建允许您执行工作单元的上下文。这可能涉及重叠的表映射。

Context1:客户有很多发票

上下文2:客户有很多订单

Context3:发票有很多订单