发布EF Core 2.2
之后,现在可以拥有拥有类型的单一值和集合值。
与传统的导航属性相反,实体中总是包含拥有的类型,因此拥有的类型看起来像是描述聚合形状的自然方式。
是否存在与DDD相关的用例,其中经典导航属性仍然更好?
更新1
在2.2之前,我可以调用modelBuilder.Entity<OwnedType>
并配置备用密钥。
现在使用2.2
,我开始在迁移过程中出错:primary key is not defined for the entity
。但是,在方法ReferenceOwnershipBuilder
中作为参数传递给buildAction
lambda的OwnsOne
类不包含HasAlternateKey
。当前是known limitation。
更新2
当前拥有的类型不支持继承。这对于某些用例可能至关重要。