0

asp.netアプリケーションでLINQを使用していました。'ColorDV'テーブルの2つの列に一意キーを配置しました。'ss'のような重複した値を追加しようとすると、次の結果が得られます。

System.Data.UpdateException:エントリの更新中にエラーが発生しました。詳細については、内部例外を参照してください。---> System.Data.SqlClient.SqlException:UNIQUEKEY制約'TITLE_AR_ColorDV'の違反。オブジェクト'dbo.ColorDV'に重複するキーを挿入できません。重複するキー値は(ss)です。ステートメントは終了されました。

しかし、問題は、この例外の後、まったく同じ例外のために、どのテーブルにもレコードを挿入できないことです。LINQが毎回同じ前の挿入を実行しようとしているのではないかと思います。

どうすればこの問題を解決できますか?

4

1 に答える 1

0

ObjectContextにオブジェクトを追加すると、そのオブジェクトはデータベースに送信されているオブジェクトのリスト内にとどまるため、それが問題になります。オブジェクトを削除して続行するか、編集でコンテキストのRefreshメソッドを使用して、オブジェクトのコンテンツを元の状態に更新しようとします。

これには追加のアプローチがあります; 個人的にはうまくいくとは言えません。

于 2013-03-25T20:24:57.650 に答える