The instance of entity type ‘XXXX’ cannot be tracked because another instance with the same key value for {‘Key’} is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached.
报错解释:实体已被追踪的情况下,再次追踪。
情况描述:调用CRUDAppService的put接口,对主表进行修改。实体一对多,对子表进行修改。
导致原因:CRUDAppService的UpdateAsync()方法,将子表的修改识别成了新增,导致已有的实体报错ID已重复。(猜想)
TODO:通过生成数据库命令的方式,证实原因
解决方法:重写UpdateAsync()方法。手动调用Repository的UpdateAsync()方法