1
我来自Java,现在正在使用C#和Entity Framework将现有系统实现到数据库中。如何使用Entity Framework和Fluent API映射复杂的一对多
由于我不能在这里显示实际的类,我试图做一个与我的问题相同的例子,如下所示。 我有一个Company
其中有几个属性列表Person
。当我使用EF将其转换为数据库时,我为每个Person
实例获取一个新的外键列。
Company
public GUID CompanyID {get,set}
public List<Person> Employee{get,set}
public List<Person> Janitors {get,set}
public List<Person> Students {get,set}
public List<Person> Professors {get,set}
Person
public GUID CompanyID {get,set}
我想人的数据库方案是
|Column 1 | Column 2 | Column 3 | Company_FK |
----------------------------------------------
但现在它更像是这
| Column 1 | Column 2 | Column 3 | Company_ID | Company_ID1 | Company_ID2 ...
--------------------------------------------------------------------------
null reference null
null reference null
reference null null
~~~~~~~~~~~~~~~~~~~~~~etc~~~~~~~~~~~~~~~~~~
所有这些COMPANY_ID *列具有相同的公司表引用,因此我相信只有一列用于此参考并不是不可能的,然后将所有这些参考文献都删除。
我需要一个Fluent API解决方案,而不是数据注解。
它是成功的,但我得到这个错误消息“到数据库的更改被成功提交,但出现错误而更新对象上下文的ObjectContext的可能。处于不一致的状态内部异常消息:发生了参照完整性约束冲突:定义参照约束的属性值在关系中的主体和从属对象之间不一致。但是你的代码工作,我很感谢你的帮助@JustAnotherUserYouMayKnow – jonas 2013-02-21 11:52:22