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

Entity Framework のストアド プロシージャから結果フィードバックを取得する

    これを行う 1 つの方法は、<を呼び出すことです。 code>ExecuteStoreCommand SqlParameter を渡します Output の方向で :

    var dtparm = new SqlParameter("@dtparm", DateTime.Now);
    var retval = new SqlParameter("@retval", SqlDbType.Int);
    
    retval.Direction = ParameterDirection.Output;
    
    context.ExecuteStoreCommand("exec @retval = MyProc @dtparm", retval, dtparm);
    
    int return_value = (int)retval.Value;
    

    もともと ReturnValue の方向を使用してみました :

    retval.Direction = ParameterDirection.ReturnValue;
    
    context.ExecuteStoreCommand("MyProc @dtparm", retval, dtparm);
    

    しかし retval.Value 常に 0 になります . retval に気付きました MyProc @dtparm を実行した結果です ステートメントなので、MyProc の戻り値をキャプチャするように変更しました それを出力パラメータとして返します。



    1. 配列要素の並べ替え

    2. IDおよび最小/最大日付によるバイナリ変数のグループ化

    3. SQLServerのバージョン間での単一トランザクションのデッドロックに続く

    4. EclipseからMySQLに接続する(CDT)