实体框架抛出无法在表中插入标识列的显式值

时间:2012-06-23 19:03:24

标签: c# entity-framework

我是EF的新手,在尝试将更改保存到我的上下文时,我收到以下错误:

  

无法在表中插入identity列的显式值   当IDENTITY_INSERT设置为OFF时,“GroupMembers_New”。

DB上的列是自动增量的标识,在edmx上,id StoreGeneratedPattern是Identity,默认值是none,不确定为什么每次我尝试保存组时都会尝试插入0,任何想法?

感谢

1 个答案:

答案 0 :(得分:2)

StoreGeneratedPattern注释必须出现在EDMX文件的两个位置 - 在SSDL部分...

<edmx:StorageModels>
  ...
  <EntityType Name="MyEntity">
    ...
    <Property Name="MyEntityID" Type="int" Nullable="false"
              StoreGeneratedPattern="Identity" />
    ...
  </EntityType>
  ...
</edmx:StorageModels>

......以及CSDL部分:

<edmx:ConceptualModels>
  ...
  <EntityType Name="MyEntity">
    ...
    <Property Name="MyEntityID" Type="Int32" Nullable="false"
              annotation:StoreGeneratedPattern="Identity" />
    ...
  </EntityType>
  ...
</edmx:ConceptualModels>

问题的原因可能是两个地方之一缺少注释。