如何防止Entity Framework将现有对象添加到数据库?

时间:2015-06-28 18:01:44

标签: c# entity-framework

我有一个对象列表,我将其作为参数传递给我的Azure API。 我已将列表包装到名为CheckAvailabilityRequest的对象中。

class CheckAvailabilityRequest {
    public List<MyObject> MyObjects { get; set; }
    ...
}

当我在服务器上收到请求时,我创建了一个对象MyObject2并将List<MyObject>分配给它。

class MyObject2 {
    List<MyObject> MyObjects { get; set; }
}

MyObject2.MyObjects = request.MyObjects;

致电

context.SaveChanges();

我得到以下异常:

  

System.Data.SqlClient.SqlException:违反PRIMARY KEY约束&#39; PK_aaa.MyObject&#39;。无法在对象&#39; aaa.MyObject&#39;中插入重复键。重复键值为(594229de-8384-4b3c-8c8f-4d081918f145)。

我知道这是因为对象的断开状态。

数据库中已存在MyObject列表。

但是必须有一种方法可以简单地分配现有的MyObjects而不将它们添加到数据库中,是吗?

0 个答案:

没有答案