ORM的意义何在,如果我必须在app.config中为Oracle .net实体框架定义每个字段



据我所知,实体框架的全部目的是简化和统一数据访问模型。

我下载了最新的Oracle的.net工具(ODAC 11.2 Release 4),该工具声称支持EF4,我正试图导入一些Oracle存储过程(通过函数导入),该过程将一个ref游标作为输出参数。当我阅读甲骨文网站上的文档时

它说我必须在app.config中定义ref游标返回的每个字段。好这是非常愚蠢的,使整个Entity框架对Oracle毫无用处。

我是不是错过了什么?

实体框架的全部目的是简化和统一数据访问模型

理论上是的。在实践中,MS以MS工具为目标=它们只支持SQL server和SQL server CE功能。如果其他数据库提供了一些特殊的附加功能,它们要么在EF中不可用,要么必须以某种方式被黑客入侵。

具有一个ref游标作为输出参数的存储过程(通过函数导入)。

这就是这种特征的例子。我不知道从SQL server中的存储过程返回数据库游标的可能性,EF真的不支持这一点。

它说我必须在app.config中定义ref游标返回的每个字段。。这是非常愚蠢的,使整个Entity框架对Oracle毫无用处。

但这不是EF的问题,而是Oracle如何构建API来使用它的问题。配置中描述了光标结果的映射。

我百分之百同意你的意见。Oracle的EF实施非常缺乏。映射是愚蠢的,容易出错,维护起来很麻烦。Oracle至少应该提供一个生成器工具,用于对SP代码进行逆向工程并创建映射。即使不可能实现完美的映射,这也是一个开始。此外,它不支持功能,而且我们的Oracle标准尽可能支持功能而非SP。返回多个refcursors也是不可能的。

相关内容

  • 没有找到相关文章

最新更新