ef core值对象不能引用到同一个
比如在一个聚合Entity里 Order 一对多 OrderItem 实体
OrderItem里有一个ModifyUser修改者值对象
比如我有这样一个需求 :一个人修改了一个订单下2个子订单的项,我需要记录在orderitem实体下ModifyUser,因为OrderItem可能被不同人修改。
当我进行修改操作时, 实例化出来一个ModifyUser修改者值对象,把这一个分配给2个子订单的修改者值对象,这样EF就会有问题 大概意思是状态追踪的问题,
同一个引用不同的状态可能是修改 OrerItem 01 之前有修改者 而OrerItem 02 可能是之前没被修改ef的状态追踪为添加 这样会有问题,不知道Ef值对象映射可以用Struct代替吗?
补充:官方文档介绍
限制
其中一些限制对于拥有的实体类型的工作方式很重要,但其他一些限制是我们可以在未来版本中删除的限制:
按设计限制
- 不能
DbSet<T>
为拥有的类型创建 - 不能
Entity<T>()
对拥有的类型调用ModelBuilder
当前缺陷
- 拥有的实体类型不能具有继承层次结构
- 引用导航到拥有的实体类型不能为 null,除非它们显式映射到与所有者不同的表
- 拥有的实体类型的实例不能由多个所有者共享(这是一个已知的值对象方案,不能使用拥有的实体类型来实现)