2

ストアド プロシージャを Entity Framework モデル ( Model.edmx) に追加できますか?

このようにVisual Studio 2010でそれを行いました(ただし、ストアドプロシージャは[追加]タブから外れ、[更新]タブにあります)

VS スクリーンショット

私のストアド プロシージャは、SELECT1 つのパラメーターを使用する単純なステートメントです。

VS2010ではModelに追加されたようですが、どこにあるのか、どうやって使えばいいのでしょうか?

ダイアグラムのどこにも見えませんModel.designer.cs

4

3 に答える 3

9

あなたはそこで別れます。それは少し隠されたプロセスであり、多段階です。上記のメニューでストアド プロシージャを選択して、モデルにストアド プロシージャを含める必要があります。

それが完了したら、「モデル ブラウザ」を表示します。

モデルブラウザの写真

次に、モデル ブラウザーで、モデル ストアを見つけます (これには、「テーブル / ビュー」などのフォルダーがあります)。ストアド プロシージャを右クリックし、[関数のインポートの追加] を選択します。

関数インポートのコンテキスト メニューの写真

これが完了したら、SP から取得するエンティティをマッピングできます。

関数インポート ダイアログの写真

その後、コード内の Context を介して、強く型付けされた方法でエンティティにアクセスできるようになります。それが役立つことを願っています。

于 2012-11-21T04:46:04.100 に答える
1

前の回答の補足:

必要に応じて、エンティティではなく複合型を作成し (モデル エクスプローラーの複合型フォルダーに作成できます)、返されるデータ オブジェクトが DB のテーブルと一致しない場合は、それをストアド プロシージャに関連付けます。例:

http://img46.imageshack.us/img46/9168/j4ax.jpg

于 2013-08-20T12:36:26.087 に答える
1

モデル ダイアグラムで、右クリックして [モデル ブラウザー] を選択します (またはView/Other Windows/Entity Data Model Browserメニューから)。Model.Store セクションに、テーブル/ビュー、ストアド プロシージャ/関数、および制約が表示されます。ストアド プロシージャは、ストアド プロシージャ/関数セクションにあります。

EF でストアド プロシージャを使用する方法の適切な説明については、このリンクを確認してください: http://msdn.microsoft.com/en-us/data/gg699321.aspx

于 2012-11-21T04:30:30.057 に答える