【发布时间】:2018-05-02 08:29:38
【问题描述】:
我正在尝试在 ef-core 2.0 中复制一个对象。我使用了一个通过 Include ande 获取大量对象的查询,然后我使用 AsNoTracking 告诉 ef 这是一个全新的对象。
我使用默认设置,我让数据库在插入时生成 Id。但是当我使用 AsNoTracking-query 时,我仍然得到原始对象的 id,这给了我 SaveChanges 的异常。
SqlException: Cannot insert explicit value for identity column in table 'Plans' when IDENTITY_INSERT is set to OFF.
我实际上并不想更改此设置,如果我遍历对象并将 Id 更改为 0,它就可以工作。有没有什么方法可以在不遍历所有对象的情况下处理这个问题?
有没有更好的方法来创建副本?
【问题讨论】:
-
类似于stackoverflow.com/questions/49378462/…。没有更好的方法 AFAIK。
标签: entity-framework asp.net-core ef-core-2.0