1

EF6 可以从 oracle 存储过程返回的引用游标生成我的模型对象吗?

所以我目前的工作场所正处于从使用 webforms 到 MVC5 的转变中。

我们想使用 EF6 和 Oracle 存储过程。我们要实现的许多模型将从多个表中选择数据(我们的数据库很大)。我们也已经有了一些存储过程。

我要么需要能够告诉 EF6 将我的模型映射到存储过程的结果,要么明确告诉 EF6 我的每个模型属性来自哪个表。

另一种选择是为每个模型创建 oracle 视图。

我已经在谷歌上搜索了一段时间,我很难找到一种方法来完成我们需要的东西。

之前,当我们使用网络表单时,我们使用的是我们自己的自定义 DAL/ORM。但我们真的很想改用实体框架。

4

2 回答 2

0

似乎不支持我试图完成的事情。EF6 仅支持创建/更新/删除存储过程。希望我们能找到一种将 MVC5 与我们已有的 oracle DB 一起使用的标准方法。

感谢 T McKeown 的努力,您的链接帮助我得出结论。

于 2014-02-11T18:35:36.313 回答
0

您在这里有 2 个基本选择:

代码优先:

设计您的模型,并将它们“连接”到您手动定义的程序。

http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

http://entityframework.codeplex.com/wikipage?title=Code%20First%20Insert%2fUpdate%2fDelete%20Stored%20Procedure%20Mapping

数据库优先:

将 EF 指向您的数据库,将使用您的架构为您创建模型。您始终可以使用 Helper 类等调用您的自定义过程。您将传入 EF 模型并提取所需的属性。

就个人而言,我更喜欢先编写简单的 POCO 对象,然后按照我认为合适的方式将它们连接起来。这为您提供了最大的灵活性,但是如果您不首先制定架构并遵守一些管理模式,它可能会失控。

至于大容量系统的性能,类似于 Ruby-On-Rails 样板 MVC 方法会随着它们的增长而变得笨拙。为 CRUD 使用有效的过程总是会胜过动态 SQL。

于 2014-02-07T19:21:50.053 回答