据我所知, Entity Framework 的重点是简化和统一数据访问模型。
我下载了声称支持 EF4 的最新 Oracle .net 工具(ODAC 11.2 第 4 版),并且我正在尝试导入一些 Oracle 存储过程(通过函数导入),该存储过程将一个引用游标作为输出参数。
当我阅读 Oracle's site 上的文档时
它说我必须在我的 app.config 中定义由 ref 游标返回的每个字段。
好。这是非常愚蠢的,使整个 Entity Framework 对 Oracle 毫无用处。
我错过了什么吗?
最佳答案
the whole point of Entity framework is to simplify and unify data access models
理论上是的。实际上,MS 以 MS 工具为目标 = 它们仅支持 SQL Server 和 SQL Server CE 功能。如果其他数据库提供了一些特殊的附加功能,它们要么在 EF 中不可用,要么必须以某种方式被黑客入侵。
stored procedure (through function import) that has one ref cursor as output param.
这就是这种功能的例子。我不知道从 SQL Server 中的存储过程返回数据库游标的可能性,EF 真的不支持。
it says that I have to define each field returned by the ref cursor in my app.config. well.. That's extremely stupid and makes the whole Entity framework useless for Oracle.
但这不是 EF 的问题,而是 Oracle 如何构建 API 来使用它的问题。恕我直言,整个游标以某种方式被 ODP.NET 隐藏,并将正常结果集传递给 EF。游标结果的映射在配置中描述。
关于.net - 如果我必须为 Oracle .net Entity Framework 在 app.config 中定义每个字段,ORM 的意义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8740420/