我很难找到正确的 Fluent 方法组合来适当地映射我的类。这基本上是我想要做的:
Person table: PersonID, HomeAddressID (nullable), WorkAddressID (nullable)
Address table: AddressID, Street, etc...
该类Person
有一个Address HomeAddress
和一个Address WorkAddress
属性,但没有 ID 的整数属性。
该类Address
没有其相关Person
实体的任何属性。
对于这种情况,我没有在网上找到任何示例,而且我只是没有找到正确的组合。代码优先配置总是做得很好,让我感到困惑。
这是最接近我找到的示例之一,但我得到了Invalid column name 'HomeAddressID'
,这告诉我我可能映射了关系的错误方面。
public class PersonConfiguration : EntityTypeConfiguration<Person>
{
// other mappings
HasOptional(p => p.HomeAddress)
.WithOptionalPrincipal()
.Map(x => x.MapKey("HomeAddressID"));
HasOptional(p => p.WorkAddress)
.WithOptionalPrincipal()
.Map(x => x.MapKey("WorkAddressID"));
}
我在正确的轨道上吗?