sql >> データベース >  >> RDS >> Sqlserver

EntityFrameworkを使用してストアドプロシージャからデータを取得する

    この問題を解決するには、次の手順を使用します。

    1. ストアドプロシージャを関数としてインポートする必要があります。エンティティモデルのワークスペース領域を右クリックし、Add -> Function Importを選択します。 。
    2. [関数のインポートの追加]ダイアログで、モデルでストアドプロシージャを参照する名前を入力します(例:Search_Products)。 、ドロップダウンリストからプロシージャを選択し、プロシージャの戻り値をEntitiesとして選択します。 Productsを選択します ドロップダウンリストから。
    3. 次に、コードビハインドで:

      var db = new MyEntities();
      var TEST_SEARCH_TERM = "product";
      var result = db.Search_Products(TEST_SEARCH_TERM);//Search_Products is the name that you specified in Function Import dialog
      
      MyGridView.DataSource = result;
      MyGridView.DataBind();
      

    -1を取得する理由 結果として、EntityFrameworkはそのままではストアドプロシージャの戻り値をサポートできません。ストアドプロシージャの戻り値のサポートは、EntityFrameworkのバージョンによって異なると思います。また、Entity Frameworkは、SQLの代替ではなく、ORMであるため、豊富なストアドプロシージャをサポートしていません。



    1. WiXからSQLExpressをブートストラップしますか?

    2. オラクルはUNIXエポック時間を日付に変換します

    3. PostgreSQLでのcbrt()のしくみ

    4. Rails + Postgresドロップエラー:データベースは他のユーザーによってアクセスされています