2011-04-29 74 views
0

我有三个完全相同模式的数据库(SAP Business One数据库)。在这个数据库中,我通过物料代码将物料主数据表连接到仓库库存表。我可以只有一个Entity框架模型,它只有一个项目主对象和一个仓库库存对象,它们从3个数据库中提取数据? 这三个数据库中的项目是相同的,但他们有不同的仓库代码。 我不知道我是否已经说清楚了。实体框架作为一个整体暴露几个数据库

回答

1

如果您希望单个EF模型同时从三个数据库加载数据,则答案为否。如果您希望单个EF模型可用于所有三个数据库,则答案为是,但所有数据库必须使用相同的数据库提供程序(服务器),并且必须具有完全相同的映射表模式。

在这种情况下,整个魔术都在连接字符串中,它只能连接到单个数据库,并且不允许跨数据库调用。

如果您需要第一种方案,您可以尝试在视图中隐藏工会和跨数据库查询并映射模型中的这些视图。这有两个缺点:

  • 视图之间的关系是不允许在SQL Server,但你可以创建EF模型的关系
  • 意见仅在EF模型读取。如果你想修改数据,最好的方法就是映射存储过程。
+0

我想要第一个场景。我想我必须去创建一个视图。谢谢。 – 2011-04-29 07:17:57