【发布时间】:2015-05-04 04:06:32
【问题描述】:
我正在尝试使用代码优先/流利的 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 列可能包含重复值。
【问题讨论】:
-
您如何确定
StudentContact中的StudentId可以有重复值?你试过插入记录吗? -
@JenishRabadiya 是的,我尝试输入具有相同 studentID 的记录,并且 sql 服务器允许提交记录
-
如果您使用的是 EF 6,您可以像这样对 StudentId 列应用唯一约束。stackoverflow.com/a/23155759/1505865
-
@JenishRabadiya 将对此进行尝试并提供反馈
标签: c# entity-framework ef-code-first ef-fluent-api