2

Entity Frameworkコードファーストアプローチを使用してストアドプロシージャを実行する方法を知るために、インターネットでいくつかの調査を行いました。しかし、明確なアイデアは得られませんでした。誰もが独自の SP 実行方法を語っています。一部のブログでは、次の方法で実行することについて言及しており、他のブログでは従来の ADO.NET の方法で言及しています。

DbContext.Database.SqlQuery<ProcedureResult>("sp_TestProcedure @param1, @param2",param1val, param2value);

SPを実行する適切な方法を教えてください。私はMVC3、Entity FW code-firstアプローチを使用しています。ありがとう

4

3 に答える 3

2

数週間前に同じ質問があり、最終的に使用したソリューションで回答を更新しました。それ以来、使用を少し拡大し、ソリューションがどれほどきれいであるかに比較的満足しています. 必要な結果はエンティティにマップされないため、エンティティを直接返さないという事実は私にとって損失ではありませんでしたが、それがあなたの意図である場合は迷惑になる可能性があります.

ここを参照してください:複雑な全文検索から結果を返すストアド プロシージャを使用したコード ファースト エンティティ フレームワーク

于 2013-01-21T15:45:34.303 に答える
2

Entity Framework 5の時点で、ストアドプロシージャは最初にコードでサポートされていません。人々がそれらを使用していることを私が知っている2つの最も一般的な方法は、DbContext.Database.SqlQueryあなたが言及したものであり、ストアドプロシージャの.edmxファイルを設定することです.私は個人的に.edmxファイルを使用することに傾いていますしかし、それは私だけです

于 2013-01-21T15:56:31.413 に答える
-1

Julie Lerman が書いた本からの引用: Entity Framework はストアド プロシージャへのマッピングをサポートしていますが、この機能は Code First ではサポートされていません。Entity Framework チームは、ストアド プロシージャのサポートを EF 5.0 の Code First に追加する予定はありません。彼らは、これがいつ追加されるかについて明確な計画がないことを示しています.

SAFARI の本のリンク http://my.safaribooksonline.com/book/-/9781449331825

于 2013-01-21T14:06:29.510 に答える