|
|
1
2
我会用正面图案。创建一个facade上下文,它将从用户抽象底层数据上下文。如果需要,可以从默认datacontext继承并重写方法。在重写中,您可以将其传递给适当的datacontext。 |
|
|
2
1
我不知道该怎么做。 您可能希望看到的是使用设计模式来实现这一目标。通过使用模式以及一个存储库模式,您就可以定义所有客户机资源库将继承的基本接口存储库。然后,对于每个客户机存储库,您可以根据它们的特定需求扩展它。 |
|
|
3
0
我不知道你是否已经知道了,但是合并数据上下文不是个好主意。其中很大一部分原因与datacontext对象中内置的更改跟踪有关。如果您能够将实体对象分开,以便更改一次只影响一个datacontext而不重叠,那么您就可以让它工作,但对于这么少的回报来说,这似乎太麻烦了。 您可以实现一个存储库模式,但同样,一个datacontext无法识别用另一个datacontext创建的对象时仍然存在问题。我当前工作的项目仅使用一个datacontext。数据库现在有大约75个表…我有一对一、一对多和多对多的关系,我还没有遇到严重的性能或实现问题,只使用一个数据上下文。使用facade模式可能可以工作,但同样,您需要扪心自问,维护多个不能直接交互的数据上下文是否值得。 例如,假设您有一个customer表和orders表。customer表位于一个datacontext中,orders表位于另一个datacontext中。关系是一个客户对零到多个订单。因为在单独的DATACONTEX中有它们,所以我不相信您可以直接引用查询中的子实体对象。因此,为了获得特定客户的订单,您可能不得不这样做:
而不是这个:
|
|
|
4
0
我们通过在datacontext中使用继承来实现这一点,我们使用ef5、code-first和mvc4来实现前端web项目。 我们有一个公共数据上下文来封装数据库中的所有公共表
以及使用自己的表和公共表的多个专用数据上下文
这些数据上下文中的每一个都位于同一解决方案中的单独项目中。 希望能帮上忙。 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 9 月前 |
|
|
Pavel Foltyn · 如何在C中生成逆字典# 10 月前 |
|
ewok · 基于种子和上一个值创建值列表 1 年前 |
|
|
Vasu V · 将foreach转换为select语句 1 年前 |
|
Modest · 使用命名空间和文本值序列化xElement 1 年前 |