Entity Framework のストアド プロシージャからデータを取得する
Entity Framework 6.1.1 を使用して動的 SQL ストアド プロシージャを操作する場合、データを取得することができます。挑戦です。一般的なシナリオは、ストアド プロシージャからのデータを使用して GridView コントロールにデータを設定しようとしますが、空の結果セットによる例外が発生することです。
この問題を解決するには、ストアド プロシージャを関数としてインポートする必要があります。エンティティモデル。次の手順に従います。
関数インポートの追加ダイアログで、次を指定します:
コード ビハインド:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM); // Search_Products is the name you specified in the Function Import dialog MyGridView.DataSource = result; MyGridView.DataBind();
ストアド プロシージャを関数としてインポートすることにより、Entity Framework は戻り値の型を決定し、それを適切なエンティティにマップできます。これにより、ストアド プロシージャの SELECT ステートメントからのオブジェクトを含む IEnumerable DataSet が結果として得られ、GridView に正常にデータを設定できるようになります。
Entity Framework はストアド プロシージャを広範にサポートしていないことに注意することが重要です。 ORM としての焦点が異なり、ストアド プロシージャの戻り値を処理する機能は、使用される Entity Framework のバージョンによって異なる場合があります。
以上がEntity Framework 6.1.1 のストアド プロシージャからデータを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。