【问题标题】:What's the point of ORM If I have to define every field in app.config for Oracle .net Entity Framework如果我必须为 Oracle .net 实体框架定义 app.config 中的每个字段,那么 ORM 有什么意义
【发布时间】:2012-02-03 03:42:30
【问题描述】:

据我所知,Entity 框架的全部意义在于简化和统一数据访问模型。

我下载了声称支持 EF4 的最新 Oracle 的 .net 工具(ODAC 11.2 第 4 版),我正在尝试导入一些 Oracle 存储过程(通过函数导入),它有一个引用光标作为输出参数。 当我阅读Oracle's site上的文档时

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

我错过了什么吗?

【问题讨论】:

  • 我建议您尝试在 ODP 的 Oracle 论坛中提出这个问题。 forums.oracle.com/forums/forum.jspa?forumID=146
  • 我不确定你是如何调用存储过程的,但我使用 DevArt dotConnect for Oracle,不需要在 web.config 中提供这些。也许这是提供商特定的问题?

标签: .net oracle entity-framework orm data-access


【解决方案1】:

Entity 框架的重点是简化和统一数据访问模型

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

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

这就是这种特性的例子。我不知道从 SQL Server 中的存储过程返回数据库游标的可能性,而 EF 确实不支持。

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

但这不是 EF 的问题,而是 Oracle 如何构建 API 来使用它的方式。恕我直言,ODP.NET 以某种方式隐藏了整个游标,并将正常结果集传递给 EF。游标结果的映射在配置中描述。

【讨论】:

    【解决方案2】:

    我 100% 同意你的看法。 Oracle 的 EF 实现非常缺乏。映射是愚蠢的,容易出错并且维护起来是噩梦。至少甲骨文应该提供一个生成器工具,对 SP 代码进行逆向工程并创建映射。即使完美的映射是不可能的,这也是一个开始。此外,它不支持函数,我们的 Oracle 标准尽可能支持函数而不是 SP。返回多个引用也是不可能的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      相关资源
      最近更新 更多