locked
EF 4.1 is trying to insert values in identity column despite StoreGeneratedPattern being set to Identity in SSDL RRS feed

  • Question

  • I have a table called ScanMasters in SQL Server 2008 which has a column called PresentationAuditId as the primary key. This column is also a foreign key. The table also has an identity column called ScanPartId. I am using Entity Framework 4.1 to generate POCOs based on my database. The EF SSDL represents the entity in this manner:

    <EntityType Name="ScanMasters">
      <Key>
        <PropertyRef Name="PresentationAuditId" />
      </Key>
      <Property Name="ScanPartId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
      <Property Name="RackNum" Type="int" />
      <Property Name="LoadDatetime" Type="datetime" />
      <Property Name="PresentationAuditId" Type="bigint" Nullable="false" />
      <Property Name="Item" Type="varchar" MaxLength="31" />
    </EntityType>
    

    When I add new data for this entity and do SaveChanges(), I am getting the following error:

    Cannot insert explicit value for identity column in table 'ScanMasters' when IDENTITY_INSERT is set to OFF.

    Can we have a non-primary key column as an identity column in EF 4.1? How can I go about this?

    Monday, July 23, 2012 6:38 PM

Answers