2012-03-26 62 views
1

我有一个表具有作为3列组合的主键 1. AcctNum(字符串) 2. SrvID( INT) 3. RevNum(INT)LINQ to Entities,“对象具有相同的密钥已存在于ObjectStateManager ...”

我在做什么在我的代码是

  1. 我得到了行,并与最大RevNum特定ACCTNUM然后我 修改一些列(比其他键)的那一行。
  2. 然后我创建一个新行(实体/表类型的新对象)
  3. 我使用AutoMapper将上述步骤1中所有行的值映射到我在上面步骤2中创建的新行。然后我修改RevNum以增加一个,为这个新行创建一个唯一的主键。

当我做context.TableName.AddObject(NEWROW) 它抛出一个异常 “具有相同的键已经存在于ObjectStateManager该ObjectStateManager不能用相同的密钥跟踪多个对象的对象。”

即使在新行中,我正在更改RevNum以拥有唯一的密钥。有人能告诉我我在这里做错了吗?

回答

相关问题