实体框架有两个(几乎)相同的模型

时间:2013-08-27 14:57:49

标签: c# sql-server entity-framework

我有两个数据库,它们在模式上几乎完全相同,但是在它们中保存的数据中是分开的。消费应用程序不需要知道这些差异所以我正在创建一个具有实体框架模型的服务,但我希望它返回一个类型。例如:

**DatabaseA** -> EFModelA
- Customers
- Orders

**DatabaseB** -> EFModelB
- Customers
- Orders

我希望能够通过调用返回Customer课程,而不是返回EFModelA.CustomerEFModelB.Customer

我已经研究过两种方法,但无法确定哪种方式可以提供最小的维护阻力。他们是:

  1. 在DatabaseA中创建数据的统一视图,该视图将来自DatabaseB的数据进行联合,以便它们的应用程序只能看到一个实体集。缺点是如何确保它们的键是唯一的,但我可以添加一个额外的字段来表示它来自哪个数据库。
  2. 有两个独立的EF模型,并且有一些脚本编写方式(例如T4模板),一个等效类型的组合模型,然后在两种EF类型和组合类型之间实现映射代码。
  3. 有没有其他人遇到过这个问题,你是怎么解决这个问题的?如果没有,你会如何解决这个问题?

0 个答案:

没有答案