Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Thực thể Oracle trong khung thực thể VS không cập nhật khóa chính trong mã

Mở tệp .edmx bằng trình chỉnh sửa XML và tìm phần bắt đầu bằng dòng sau:

<!-- SSDL content -->

Bên dưới phải là thẻ EntityType và trong đó là định nghĩa của bảng cơ sở dữ liệu. Đảm bảo rằng thuộc tính cho cột ID của bạn có StoreGeneratedPattern ="Identity" trong đó.

Bên dưới phần SSDL này là phần CSDL trông tương tự, nhưng xác định đối tượng C # đại diện cho thực thể này. Trình thiết kế trực quan dường như chỉ điền vào StoreGeneratedPatternin phần này, nhưng không điền vào phần SSDL.

CHỈNH SỬA VỚI MẪU

Đây là tệp EDMX mẫu cho thực thể Nhân viên, không có gì ngoài thuộc tính ID, FirstName và LastName. ID là trường bạn muốn cơ sở dữ liệu tự động tạo. Lưu ý rằng có hai nơi khác nhau mà StoreGeneratedPattern là cần thiết.

<?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>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sao lưu trực tuyến Vs ngoại tuyến

  2. Mở rộng điều khiển lưới EM sang các nút mới

  3. Sự cố khi gọi thủ tục được lưu trữ từ C # với CLOB lớn

  4. Sự khác biệt giữa AS và IS trong một thủ tục được lưu trữ trong Oracle là gì?

  5. AWS Python Lambda với Oracle