在我的项目中,我使用以下代码将现有记录复制为新记录。
// Copying existing purchase order
Purchase newPurchase = this.currentPurchase
// Add copy to DbContext
this.boManager.Add(newPurchase);
// Saveing changes and handle exceptions
CommitChanges();
它似乎有效,但我观察到发生的事情似乎是它依赖于实体框架,当我添加现有记录时,我实际上想要添加一个具有基本相同数据的新数据,并且将为我,但它也可以弄清楚我添加了一个错误地添加现有记录,最好不要做任何事情,因为记录已经存在。
所以我的问题是:
答案 0 :(得分:0)
购买newPurchase = this.currentPurchase
这只复制对currentPurchase对象的引用,而不是创建新对象。您应该使用clone()或只创建一个Purchase对象,然后您可以将currentPurchase中的所有字段映射到新的obj,并将新的obj添加到上下文中。