テーブルに挿入してからこの行を実行するストアドプロシージャがあります
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 値を返すことは可能ですか?
モデル内のテーブルの挿入アクションにストアド プロシージャを手動でバインドできることはわかっていますが、これはオプションではありません。モデルクラスを再生成するたびにこの手動作業を行うには、挿入手順が多すぎます。