Oracle entity in VS entity framework doesnt update the primary key in code Oracle entity in VS entity framework doesnt update the primary key in code oracle oracle

Oracle entity in VS entity framework doesnt update the primary key in code


Open up the .edmx file with the XML editor and look for the section that begins with the following line:

<!-- SSDL content -->

Below should be an EntityType tag and in it is a definition of the database table. Make sure that the property for your ID column has StoreGeneratedPattern="Identity" in it.

Below this SSDL section is a CSDL section that looks similar, but defines the C# object that represents this entity. The visual designer only seems to fill in the StoreGeneratedPatternin this section, but not the SSDL section.

EDIT WITH SAMPLE

Here's a sample EDMX file for an Employee entity, with nothing but an ID, FirstName, and LastName property. The ID is the field you want auto generated by the database. Note that there are two different places where StoreGeneratedPattern is needed.

<?xml version="1.0" encoding="utf-8"?><edmx:Edmx Version="2.0" xmlns:edmx="http://schemas.microsoft.com/ado/2008/10/edmx">  <!-- EF Runtime content -->  <edmx:Runtime>    <!-- SSDL content -->    <edmx:StorageModels>      <Schema Namespace="Store" Alias="Self" Provider="Oracle.DataAccess.Client" ProviderManifestToken="10g"              xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator"              xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl">        <EntityContainer Name="StoreContainer">          <EntitySet Name="EMPLOYEE" EntityType="Store.EMPLOYEE" store:Type="Tables" Schema="TESTSPACE" />        </EntityContainer>        <EntityType Name="EMPLOYEE">          <Key>            <PropertyRef Name="ID" />          </Key>          <!-- The below property requires StoreGeneratedPattern="Identity" -->          <Property Name="ID" Type="number" StoreGeneratedPattern="Identity" Nullable="false" Precision="10" />          <Property Name="FIRST_NAME" Type="varchar2" MaxLength="255" />          <Property Name="LAST_NAME" Type="varchar2" MaxLength="255" />        </EntityType>      </Schema>    </edmx:StorageModels>    <!-- CSDL content -->    <edmx:ConceptualModels>      <Schema xmlns="http://schemas.microsoft.com/ado/2008/09/edm"              xmlns:cg="http://schemas.microsoft.com/ado/2006/04/codegeneration"              xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" Namespace="Model" Alias="Self"              xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation">        <EntityContainer Name="ModelContainer" annotation:LazyLoadingEnabled="true">          <EntitySet Name="Employees1" EntityType="Model.Employee" />        </EntityContainer>        <EntityType Name="Employee">          <Key>            <PropertyRef Name="ID" />          </Key>          <!-- The below property requires StoreGeneratedPattern="Identity" -->          <Property Type="Int32" Name="ID" Nullable="false" annotation:StoreGeneratedPattern="Identity" />          <Property Type="String" Name="FirstName" MaxLength="255" FixedLength="false" Unicode="false" />          <Property Type="String" Name="LastName" MaxLength="255" FixedLength="false" Unicode="false" />        </EntityType>      </Schema>    </edmx:ConceptualModels>    <!-- C-S mapping content -->    <edmx:Mappings>      <Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2008/09/mapping/cs">        <EntityContainerMapping StorageEntityContainer="StoreContainer" CdmEntityContainer="ModelContainer">          <EntitySetMapping Name="Employees1">            <EntityTypeMapping TypeName="Model.Employee">              <MappingFragment StoreEntitySet="EMPLOYEE">                <ScalarProperty Name="LastName" ColumnName="LAST_NAME" />                <ScalarProperty Name="FirstName" ColumnName="FIRST_NAME" />                <ScalarProperty Name="ID" ColumnName="ID" />              </MappingFragment>            </EntityTypeMapping>          </EntitySetMapping>        </EntityContainerMapping>      </Mapping>    </edmx:Mappings>  </edmx:Runtime>  <!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->  <edmx:Designer xmlns="http://schemas.microsoft.com/ado/2008/10/edmx">    <edmx:Connection>      <DesignerInfoPropertySet>        <DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" />      </DesignerInfoPropertySet>    </edmx:Connection>    <edmx:Options>      <DesignerInfoPropertySet>        <DesignerProperty Name="ValidateOnBuild" Value="true" />        <DesignerProperty Name="EnablePluralization" Value="True" />        <DesignerProperty Name="IncludeForeignKeysInModel" Value="True" />      </DesignerInfoPropertySet>    </edmx:Options>    <!-- Diagram content (shape and connector positions) -->    <edmx:Diagrams>      <Diagram Name="Model">        <EntityTypeShape EntityType="Model.Employee" Width="1.5" PointX="0.75" PointY="0.75"                         Height="1.4279589843749996" />      </Diagram>    </edmx:Diagrams>  </edmx:Designer></edmx:Edmx>