Entity Framework を使用したストアド プロシージャからのデータへのアクセス
この記事では、Entity Framework 6.1 を使用して動的 SQL ストアド プロシージャからデータを取得するという課題について説明します。 .1。目標は、取得したデータを GridView コントロールに設定することです。
このシナリオには、検索語をパラメーターとして受け取り、動的 SQL クエリに基づいて結果セットを返す SearchProducts というストアド プロシージャが含まれます。 C# コードはストアド プロシージャを実行し、その結果を GridView コントロールにバインドしようとします。
問題
コードが実行されると、ストアド プロシージャはDatabase Explorer は実行されますが、実行中のアプリケーションでは失敗し、IEnumerable DataSet の代わりに -1 が返されます。これは、データが正常に取得されていないことを示しています。
解決策
この問題を解決するには、ストアド プロシージャをエンティティの関数としてインポートする必要があります。モデル。手順は次のとおりです。
関数インポートの追加ダイアログで:
C# コードを更新します。
改訂されたコード:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM); MyGridView.DataSource = result; MyGridView.DataBind();
説明
Entity Framework には、保存されたオブジェクトの完全なサポートがありません。プロシージャの戻り値。ストアド プロシージャを関数としてインポートすると、データの取得を処理できる Entity Framework メソッドとして扱うことができます。
以上がEntity Framework を使用してストアド プロシージャからデータを取得し、GridView にデータを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。