我正在尝试找出如何组织DataContexts的最佳策略。我们通常使用的数据库通常有50到100个表,基本上都是第三范式,并且它们之间有很多关系。我认为我们有两个选项:
- 将所有表都放在单个上下文中。这将确保我们所做的任何事情都会按正确的顺序提交到数据库。问题是LINQ设计器将混乱不堪,而且我担心性能可能会受到影响。
- 根据表的逻辑分组创建几个数据上下文。问题是某些关系的一侧将在一个上下文中,而另一侧将在另一个上下文中。我们必须手动确保以正确的顺序提交两个上下文。
是否有任何建议的做法来处理这个问题?
更多详情:
我想在LINQ to SQL的基础上创建自己的实体和工作单元。实体将在xml模型文件中定义,其中还将指定与LINQ实体的映射。自定义工具将基于该模型生成我的实体(POCO)。客户端代码将仅与我的实体和我的工作单元交互;永远不直接与DataContext或LINQ实体交互。但是,我不想复制LINQ to SQL所提供的内容,因此我想使用底层的LINQ DataContext。这意味着我不能在不同的数据上下文中有两个具有不同顺序的订单,因为无法将我的POCO Order与它们两个都映射。