|
|
1
5
我找到了 this entry in Microsoft Connect 这就回答了英孚目前提供支持的问题(实际上还没有得到支持)。 还发现 a thread in Social MSDN 关于这个问题。 堆栈溢出时的其他链接: 总之,唯一给定的备选方案是: |
|
|
2
4
如果您的数据库支持同义词,那么您可以利用ef跨多个数据库。我写了怎么做 here . 基本上,每个数据库都有一个EDMX文件,以及一个将它们合并到单个EDMX文件中的脚本。同义词用于使用实际表名从另一个数据库引用一个数据库,因此当您尝试从database1访问database2.table时,ef不会抛出fit。您仍然需要在EF模型中手动设置两个数据库之间的链接,但是一旦设置好,即使您重新运行合并脚本,它们也将保持不变。 设置同义词和合并EDMX文件的脚本发布在链接中 |
|
|
3
3
我最近开始了一个项目,它使用实体框架和两个数据库,一个Oracle和一个SQL服务器。我在实体框架中找不到任何有关跨数据库或多个数据库支持的信息。 MS Entity Framework团队的大多数帖子都有几年的历史,这表明在一个模型中包含两个数据库并不是很快就会包含的特性。虽然我怀疑答案是否定的,但我对自己是否在2010年就把它包括在内有一个具体的答案很感兴趣。 目前,out项目通过为每个数据库建立一个单独的实体模型来绕过这个限制。这就解决了我们到目前为止在项目中遇到的大多数场景的问题。 在需要同时从两个数据库查询数据的情况下,我们只需在一个或其他数据库中创建一个视图。由于我们使用的是Oracle和SQL Server,所以此视图将使用链接服务器(SQL)或dblink(Oracle)。 实体框架中视图的缺点是,我们必须花费比我预期的更多的时间来让主键工作。 希望这有帮助。 |