我在想如何组织DataContexts的最佳策略。我们工作的典型DB有50到100个表格,通常以第三范式形式存在,并且它们之间有许多关系。我认为我们有两种选择:LINQ to SQL多个DataContext-s
- 将所有表放在一个上下文中。这将确保我们所做的任何事情都将以正确的顺序在数据库中提交。问题在于,LINQ设计人员会对50多张表格造成混乱,我担心性能可能会受到影响。
- 根据表的逻辑分组创建多个数据上下文。问题在于,会有一些关系的一方在一个环境中,另一方在另一个环境中。我们必须手动处理以正确的顺序提交两个上下文。
有没有建议的做法来解决这个问题?
更多细节:
我想在LINQ的顶部到SQL创建自己的实体和工作单位。实体将在一个xml模型文件中定义,其中也将指定到LINQ实体的映射。自定义工具将根据模型生成我的实体(POCO)。客户代码只与我的实体和我的工作单元互动;从来没有直接使用DataContext或LINQ实体。但是我不想重复LINQ to SQL提供的所有功能,所以我想使用底层的LINQ DataContext。这意味着我不能在不同的数据上下文中执行两个订单,因为无法将我的POCO订单与两个订单进行映射。
虽然这样,但是Context2中的订单无法在Context3中使用....您将以两个不同的订单实体结束 – Albert 2008-10-24 14:32:11
如果工作分离为单位,您绝不会尝试使用对象来自context3中的context2。 – 2008-10-24 14:32:41