外国约束的例外

时间:2012-10-15 12:56:02

标签: c# sql-server entity-framework

我有一个表StaffLevelMapping,它有一个外键列,它是另一个表AcademicLevel的主键。它引发了一个例外,即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;
    }

非常感谢能让我摆脱这种痛苦的那个特殊的人。

0 个答案:

没有答案