我来自 Java,现在正在使用 C# 和实体框架将现有系统实现到数据库中。
由于我无法在此处显示实际的类,因此我尝试制作一个与我的问题相同的示例,如下所示。我有一个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}
我希望 Person 的数据库方案是
|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* 列都引用了同一个 Company 表,因此我相信只有一个列用于此引用,然后松开所有这些null
引用并非不可能。
我需要 Fluent API 的解决方案,而不是 Data Annotation。