1

2つのエンティティがアタッチされているコンテキストでsaveChangesを呼び出しています。エンティティ「A」はその値の更新を受け取り、「B」は変更されません。

SaveChangesの前の行のコードを一時停止し、「B」エンティティを調べると、「EntityState = Unchanged(2)」と表示されます。

コードの実行を終了すると、「B」エンティティの更新の実行にマップされたストアドプロシージャが作成されます。

私はこれが起こらないと思っていました、なぜですか?

ありがとうゴード

EF 4.0.30319

4

1 に答える 1

0

この質問はその質問と重複していると思います。

そこに与えられた答えを繰り返すには:

これは、次の場合に発生する問題です。

  • .NETFrameworkバージョン4.0でのEntityFrameworkの実行。
  • カスタムマッピングSQLコードを使用します。

この問題は、次の3つの方法のいずれかで修正できます。

  • MS KB 2390624に記載されているMicrosoftから修正プログラムを入手して展開します。この要求には、Microsoftからの有料の支援が必要です(たとえば、会社のサポート契約を通じて)。
  • .NET 4.5にアップグレードします(Windows XPについて心配する必要がなくなった場合のオプションのみ)。
  • Entity Framework 6にアップグレードします(現在ベータ版ですが、そのバグは発生しないと思います)。
于 2013-01-03T15:53:59.770 に答える