linq 2 sqlのストアドプロシージャでデータを更新するのはちょっと混乱します。 私の質問は:私はデータベース内のいくつかのデータを更新するためにストアドプロシージャを使用すると(しかし、これは プロシージャが特定のエンティティにマップされていない)、私はそれの後にSubmitChangesを呼び出します。また、ループでこのようなプロシージャーをいくつか呼び出すと、トランザクションについてはどうでしょうか。明示的にConnection.BeginTransaction()メソッドを介してトランザクションを作成するか、モデルでそれを行いますか?Linq-to-SQLは更新レコードのカスタムストアドプロシージャを実行します
また、モデル内のいくつかのエンティティにリンクされたストアドプロシージャがどのように動作するのか知っていますが、今は多数のテーブルのレコードを更新するカスタムストアドプロシージャを使用しません。
ありがとうございました!
Linq-to-SQLはストアドプロシージャとよくインターフェースしません - もしsprocsの使用を真剣に考えているなら、.NET 4のEntity Frameworkにアップグレードすることをお勧めします。そこにprocs! –
@ marc_s、Linq-to-SQLとストアドプロシージャとのインターフェースがうまくいかないのはどうですか? –
@ Kirk Woll:まず第一に、モデル内のエンティティに正確に対応しないストアドプロシージャから結果セットを返すことはできません(EFはこれを、特定の「複合型」を定義する機能によってサポートしています) 2番目に、ストアドプロシージャはL2Sでしか実行できませんが、EF4では、INSERT、UPDATE、DELETE操作の各エンティティタイプにストアドプロシージャを割り当てることができます(たとえば、ストアドプロシージャをDELETEに割り当てて、 SQLコードのステージメントを生成して他の操作を処理するEF4) –