5

ここでちょっとがっかり。エンティティ フレームワークでカスケード更新をサポートする方法を見つけようとしていますが、組み込みの方法はないようです。ネットでの調査によると、基本的に誰もが主キーの値を変更するべきではないと言っていますが、変更する必要がある正当なケースもあります (たとえば、主キーとしての UPC 値や、現在 UPC バーコードが大きくなっているということは、更新を意味する)既存のものと適切な外部キー関係の維持)。

1 つの方法は、SavingChanges イベントを利用して、主キー フィールドが変更されているかどうかを確認し、変更されている場合は、ナビゲーション プロパティをトラバースしてサブ テーブルをそのように更新することです。

これは、理論的には機能します。しかし、それは面倒に聞こえます。誰でも良いアイデアがありますか?ほとんどの人がそれをしないという理由だけで、ビルがこのようなものをフレームワークから除外したとは信じられません。SQL Serverはまだそれをサポートしています...

どうも!

4

1 に答える 1

2

EFを介して主キーを直接変更することはできません。問題は、EFが主キー=xの場合に変更を加えることです。したがって、xを変更することはできません。

主キーを更新するEFからストアドプロシージャを実行できます。

バーコードを使用する場合は、自動増分番号である主キーを使用し、次に一意のインデックスを持つ別のフィールドとしてバーコードを使用します。

于 2010-11-10T16:54:39.430 に答える