2

テーブルに挿入してからこの行を実行するストアドプロシージャがあります

SET @returnVal = SCOPE_IDENTITY();

その後、両方を試しました:

SELECT @returnVal

return @returnVal

Microsoft SQL Server Management Studio からストアド プロシージャを実行するとSELECT @returnVal、挿入されたデータの ID 列が選択されているという期待どおりの結果が得られます。

ただし、ストアド プロシージャを ADO.Net Entity Data Model / EntityFramework クラス / .edmx クラスに追加し、C# コードでストアド プロシージャを実行すると、必ず値 -1 が返されます。

必要な値、つまり新しい ID 値を返すことは可能ですか?

モデル内のテーブルの挿入アクションにストアド プロシージャを手動でバインドできることはわかっていますが、これはオプションではありません。モデルクラスを再生成するたびにこの手動作業を行うには、挿入手順が多すぎます。

4

4 に答える 4