1

EF6 は、Oracle ストアド プロシージャによって返された参照カーソルからモデル オブジェクトを生成できますか??

つまり、私の現在の職場は、Web フォームの使用から MVC5 への切り替えの最中です。

EF6 と Oracle ストアド プロシージャを使用したいと考えています。実装したいモデルの多くは、複数のテーブルからデータを選択することになります (データベースは大規模です)。すでにいくつかのストアド プロシージャもあります。

モデルをストアド プロシージャの結果にマップするように EF6 に指示するか、モデルの各属性がどのテーブルから取得されているかを EF6 に明示的に伝える必要があります。

もう 1 つのオプションは、モデルごとに Oracle ビューを作成することです。

私はしばらくの間グーグルで検索してきましたが、必要なことを達成する方法を見つけるのに苦労しています。

以前、Web フォームを使用していたときは、独自のカスタム DAL/ORM を使用していました。しかし、Entity Framework の使用に切り替えたいと考えています。

4

2 に答える 2

0

私が達成しようとしていたことはサポートされていないようです。EF6 は、ストアド プロシージャの作成/更新/削除のみをサポートします。うまくいけば、すでに配置されているオラクル DB で MVC5 を使用する標準的な方法を見つけ出すことができます。

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 を DB に向けると、スキーマを使用してモデルが作成されます。ヘルパー クラスなどを使用して、いつでもカスタム プロシージャを呼び出すことができます。EF モデルを渡し、必要な属性を抽出します。

個人的には、最初に単純な POCO オブジェクトをコーディングし、必要に応じてそれらを接続することを好みます。これにより最大限の柔軟性が得られますが、最初にアーキテクチャを設定して管理パターンを順守しないと、手に負えなくなる可能性があります。

大容量システムのパフォーマンスに関しては、Ruby-On-Rails ボイラープレート MVC アプローチと同様に、成長するにつれて扱いにくくなる可能性があります。CRUD に効率的な手順を使用すると、常に動的 SQL に勝ちます。

于 2014-02-07T19:21:50.053 に答える