ホームページ > バックエンド開発 > C++ > Entity Framework を使用してストアド プロシージャからデータを取得し、GridView にデータを設定するにはどうすればよいですか?

Entity Framework を使用してストアド プロシージャからデータを取得し、GridView にデータを設定するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-29 18:14:10
オリジナル
966 人が閲覧しました

How Can I Retrieve Data from a Stored Procedure Using Entity Framework and Populate a GridView?

Entity Framework を使用したスト​​アド プロシージャからのデータへのアクセス

この記事では、Entity Framework 6.1 を使用して動的 SQL ストアド プロシージャからデータを取得するという課題について説明します。 .1。目標は、取得したデータを GridView コントロールに設定することです。

このシナリオには、検索語をパラメーターとして受け取り、動的 SQL クエリに基づいて結果セットを返す SearchProducts というストアド プロシージャが含まれます。 C# コードはストアド プロシージャを実行し、その結果を GridView コントロールにバインドしようとします。

問題

コードが実行されると、ストアド プロシージャはDatabase Explorer は実行されますが、実行中のアプリケーションでは失敗し、IEnumerable DataSet の代わりに -1 が返されます。これは、データが正常に取得されていないことを示しています。

解決策

この問題を解決するには、ストアド プロシージャをエンティティの関数としてインポートする必要があります。モデル。手順は次のとおりです。

  1. エンティティ モデルのワークスペース領域を右クリックし、[追加] -> [追加] を選択します。関数のインポート。
  2. 関数インポートの追加ダイアログで:

    • 関数の名前を入力します (例: Search_Products)。
    • SearchProducts プロシージャを選択します。
    • 戻り値を Entities に設定し、ドロップダウン リストから Products を選択します。ドロップダウン リスト。
  3. C# コードを更新します。

    • Entity オブジェクトの関数名 (Search_Products) を使用してストアド プロシージャを実行します。 .
    • 結果を GridView にバインドしますcontrol.

改訂されたコード:

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート