質問
変更を記録に保存しようとしていますが、エラーが発生しています
主要な制約「PK_TSTOREASSINMENT」の違反。オブジェクト「タジネーション」に重複キーを挿入できません。ステートメントは終了されました。
これが亜音速クエリです
Dim current = DB.Select().From(TStoreAssignment.Schema) _
.Where("assignmentID").IsEqualTo(selectedRow.AssignmentID) _
.ExecuteSingle(Of TStoreAssignment)()
'Modify the sequence
current.ManualSequence = 999
current.Save()
解決
このエラーには2つの可能性があります。
- また
ManualSequence
の主要な鍵ですTStoreAssignment
, 、そしてあなたはすでに999の他のエントリを持っています または(おそらく)亜音速の考え方
current
新しいオブジェクトであり、電話するときに更新する代わりに挿入しようとしますSave()
. 。デバッグして確認できますIsNew
財産。その場合は、電話することができますMarkOld()
の前にSave
方法。またはさらに良いことに、次のようなものを使用しますDB.Update().From(Of TStoreAssignment)() _ .Set(TStoreAssignment.ManualSequenceColumn).EqualTo(999) _ .Where(TStoreAssignment.AssignementIDColumn).IsEqualTo(selectedRow.AssignmentID) _ .Execute()
所属していません StackOverflow