我有以下代码:
Chart getChart = _db.Charts.SingleOrDefault(p => p.ChartID == chart.ChartID);
if (ModelState.IsValid)
{
getChart.MainChart = false;
_db.Charts.AddObject(getChart);
_db.SaveChanges();
所以我想复制这行。但我收到此错误:ObjectStateManager中已存在具有相同键的对象。现有对象处于Modified状态。如果对象处于添加状态,则只能再次添加到ObjectStateManager。
更改Identity列以让met遇到添加此行的最简单方法是什么。我不想创建新的图表,因为该表中有分配列。
亲切的问候
答案 0 :(得分:0)
AFAIK您的方法无法实现您想要实现的目标
您必须使用AutoMapper之类的映射库,或为IClonable
实体实施Chart
并使用Clone()
方法。
更新:
此外,您可以编写/使用泛型方法将每个属性复制到另一个对象中的类似属性。一些有用的链接是this article on CodeProject或this blog post。