将导航属性设置为null的Breeze.js会导致外键错误

时间:2013-03-20 05:31:08

标签: entity-framework-5 breeze

我有一个带有导航属性和相关外键属性的模型,如下所示:

public class Teacher {
    public int Id { get; set; }
}

public class Course {
    public int Id { get; set; }

    public int? TeacherId { get; set; } // foreign key property
    public Teacher Teacher { get; set; } // navigation property
}

在客户端代码中,设置course.Teacher(null)会导致course.TeacherId设置为零。在保存时,这会导致实体框架中出现外键错误。

course.TeacherId需要设置为null,而不是零,以便Entity Framework正确保存。

查看Breeze代码,当navigation属性设置为null时,外键属性设置为目标对象的键属性的默认值,在上面的示例中是默认值值Teacher.Id(为零)。相反,我认为外键属性应该设置为自己的默认值。我已为此提交了pull request

0 个答案:

没有答案