別のテーブルAcademicLevelの主キーである外部キー列を持つテーブルStaffLevelMappingがあります。Insertステートメントが外部キーと競合し、外部キーとそれが主キーであるテーブルを参照しているという例外が発生します。これは通常、挿入する値が元のテーブルに存在しない場合に発生することを私は知っています。しかし、これは実際に存在します。SQL Serverに直接挿入してみましたが、完全に機能しました。しかし、私のコードでは機能しません。私が最も驚いたのは、残りのテーブルに同じ挿入ロジックを使用したことです。これをこのテーブルで保存しても問題はありません。このエラーのために私は2日間寝ていませんでしたこれについて非常に迅速な助けが必要です。
以下に私の挿入コードを示します。
public static StaffLevelMapping AddStafflevel(int staffId, int levelId, bool isEnabled)
{
var context = ObjectContextHelper.CurrentObjectContext;
var staffLevel = context.StaffLevelMappings.CreateObject();
staffLevel.StaffID = staffId;
staffLevel.ID = levelId;
staffLevel.IsEnabled = isEnabled;
context.StaffLevelMappings.AddObject(staffLevel);
context.SaveChanges();
return staffLevel;
}
この惨めさから私を救うことができるその特別な人に前もって感謝します。