EF6可以使用oracle数据库链接吗?

时间:2016-05-10 17:47:21

标签: oracle entity-framework-6

我们有一个遗留应用程序,我在.net中重写。我们所有的数据库都是oracle并使用数据库链接。有没有办法让Entity Framework 6根据位于不同数据库的表生成模型?

目前,旧应用程序从此表中获取数据

SELECT * FROM emp@foo2;

其数据库连接是数据库foo,其数据库链接指向数据库foo2

我想用EF6重现这个。到目前为止,我发现的所有内容都是question.

1 个答案:

答案 0 :(得分:0)

你可以做两件EF 4或更高版本的工作:

  • CREATE VIEW EMP as SELECT * FROM emp@foo2;
  • CREATE MATERIALIZED VIEW EMP as SELECT * FROM emp@foo2;

如果没有一些扭曲的PL / SQL处理来逐个读取LOB,则无法通过数据库链接访问LOBS。

我认为快速刷新不适用于数据库链接,因此您必须考虑链接数据库上表的大小。如果您要刷新一百万行,您可能会发现这样做的时间是一个问题。大多数大型表都包含永远不会更改的逻辑删除数据,因此具有上次修改日期的时间戳列可以帮助您创建仅挑选更改数据的包。

如果您正在进行复杂的连接,请确保Oracle将主列的列视为非空。

您可以在视图和物化视图上添加主键,但必须禁用它。有关详细信息,请参阅here