1

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

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需要设置为空,而不是零,实体框架才能正确保存。

查看 Breeze 代码,当导航属性设置为 null 时,外键属性设置为目标对象的 key property的默认值,在上面的示例中是默认值Teacher.Id(为零)。相反,我认为应该将外键属性设置为它自己的默认值。我已经为此提交了一个拉取请求

4

0 回答 0