假设我们有一个 Employee 实体,它由一些其他实体组成,例如一对多的地址和联系人,以及一些字段(姓名、年龄等)。我们将这个实体映射出来并且可以很好地使用它,将每个部分保存到“Employee”、“EmployeeAddresses”和“EmployeeContacts”表中。
但是,我们几乎将所有该员工的信息用于大型计算,并有一个单独的“EmployeeInput”对象,该对象由相同的 Address 和 Contact 对象列表组成(即 Employee 和 EmployeeInputs 对象都有一个 Address 和 Contact 实体列表)。当我们为以后的审计目的进行计算时,我们需要保存这些信息。我们希望将此 EmployeeInput 实体保存到数据库中的“EmployeeInput”表中。
我们遇到的问题是如何保存地址和联系人列表?我们希望将它们粘贴到“EmployeeInputAddresses”和“EmployeeInputContacts”之类的东西中,但地址和联系人实体已经分别映射到“EmployeeAddresses”和“EmployeeContacts”。
在不创建新的“EmployeeInputAddress”和“EmployeeInputContact”实体以及为每个实体单独映射文件的情况下完成此操作的最简单方法是什么(因为这些字段实际上会一个一个地复制)。换句话说,我们如何将单个实体 Address 映射到两个不同的表,具体取决于它所属的父对象(如果是从 Employee 对象保存的 EmployeeAddresses 表,如果是从 EmployeeInput 对象保存的 EmployeeInputAddresses 表)。