我想强制执行一个到(零或一个)表关系使用代码第一/流利的API和预期的表如下。一对零或一个关系实体框架
学生只能有一个触点(StudentContact)或不 但每一次接触(StudentContact)必须有一个学生
StudentID StudentName
1 StudentA
2 StudentB
StudentContactID StudentContact StudentID
1 123456789 1
2 123456789 2
我试图用
EntityName<Student>().HasOptional(x => x.StudentContact).WithRequired(l => l.Student)
,但遗憾的是它不强制一个StudentID列的关系,这意味着StudentID列可能包含重复的值。
参考:One to zero/one relation in entity framework code first
你是怎么确定'StudentContact'中的'StudentId'可以有重复值的?你有没有尝试插入记录? – 2015-03-03 13:29:41
@JenishRabadiya是的,我已经尝试输入一个具有相同studentID和sql服务器的记录,允许记录提交 – vincentsty 2015-03-03 13:31:47
然后,如果您使用EF 6,则可以在StudentId列上应用唯一约束。http://stackoverflow.com/ a/23155759/1505865 – 2015-03-03 13:35:01