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,除非它们显式映射到与所有者不同的表
  • 拥有的实体类型的实例不能由多个所有者共享(这是一个已知的值对象方案,不能使用拥有的实体类型来实现)
posted @ 2020-05-07 18:58  菜洋  阅读(203)  评论(0编辑  收藏  举报