Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Thema zeigt, wie die AdventureWorks Sales-Modell-Modell- und Zuordnungsdateien manuell erstellt werden. Auch wenn Sie die Modell- und Zuordnungsdateien manuell erstellen, müssen Sie das Visual Studio-Projekt immer noch für die Verwendung von Entity Framework konfigurieren. Weitere Informationen finden Sie unter Gewusst wie: Manuelles Konfigurieren eines Entity Framework-Projekts.
Hinweis: |
|---|
| Wenn Sie den Entity Data Model-Assistenten in einem Visual Studio-Projekt verwenden, wird automatisch eine EDM-Datei erstellt und das Projekt für die Verwendung von Entity Framework konfiguriert.Weitere Informationen finden Sie unter Gewusst wie: Verwenden des Entity Data Model-Assistenten (Entity Framework). |
So erstellen Sie die SSDL-Datei
Erstellen Sie im Projektverzeichnis eine Datei mit dem Namen AdventureWorks.ssdl, und fügen Sie in diese folgenden Inhalt ein:
<Schema Namespace="AdventureWorksModel.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2008" xmlns:store="https://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns="https://schemas.microsoft.com/ado/2009/02/edm/ssdl"> <EntityContainer Name="AdventureWorksModelStoreContainer"> <EntitySet Name="Address" EntityType="AdventureWorksModel.Store.Address" store:Type="Tables" Schema="Person" /> <EntitySet Name="Contact" EntityType="AdventureWorksModel.Store.Contact" store:Type="Tables" Schema="Person" /> <EntitySet Name="Product" EntityType="AdventureWorksModel.Store.Product" store:Type="Tables" Schema="Production" /> <EntitySet Name="SalesOrderDetail" EntityType="AdventureWorksModel.Store.SalesOrderDetail" store:Type="Tables" Schema="Sales" /> <EntitySet Name="SalesOrderHeader" EntityType="AdventureWorksModel.Store.SalesOrderHeader" store:Type="Tables" Schema="Sales" /> <AssociationSet Name="FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID" Association="AdventureWorksModel.Store.FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID"> <End Role="SalesOrderHeader" EntitySet="SalesOrderHeader" /> <End Role="SalesOrderDetail" EntitySet="SalesOrderDetail" /> </AssociationSet> <AssociationSet Name="FK_SalesOrderHeader_Address_BillToAddressID" Association="AdventureWorksModel.Store.FK_SalesOrderHeader_Address_BillToAddressID"> <End Role="Address" EntitySet="Address" /> <End Role="SalesOrderHeader" EntitySet="SalesOrderHeader" /> </AssociationSet> <AssociationSet Name="FK_SalesOrderHeader_Address_ShipToAddressID" Association="AdventureWorksModel.Store.FK_SalesOrderHeader_Address_ShipToAddressID"> <End Role="Address" EntitySet="Address" /> <End Role="SalesOrderHeader" EntitySet="SalesOrderHeader" /> </AssociationSet> <AssociationSet Name="FK_SalesOrderHeader_Contact_ContactID" Association="AdventureWorksModel.Store.FK_SalesOrderHeader_Contact_ContactID"> <End Role="Contact" EntitySet="Contact" /> <End Role="SalesOrderHeader" EntitySet="SalesOrderHeader" /> </AssociationSet> </EntityContainer> <EntityType Name="Address"> <Key> <PropertyRef Name="AddressID" /> </Key> <Property Name="AddressID" Type="int" Nullable="false" StoreGeneratedPattern="Identity" /> <Property Name="AddressLine1" Type="nvarchar" Nullable="false" MaxLength="60" /> <Property Name="AddressLine2" Type="nvarchar" MaxLength="60" /> <Property Name="City" Type="nvarchar" Nullable="false" MaxLength="30" /> <Property Name="StateProvinceID" Type="int" Nullable="false" /> <Property Name="PostalCode" Type="nvarchar" Nullable="false" MaxLength="15" /> <Property Name="rowguid" Type="uniqueidentifier" Nullable="false" /> <Property Name="ModifiedDate" Type="datetime" Nullable="false" /> </EntityType> <EntityType Name="Contact"> <Key> <PropertyRef Name="ContactID" /> </Key> <Property Name="ContactID" Type="int" Nullable="false" StoreGeneratedPattern="Identity" /> <Property Name="NameStyle" Type="bit" Nullable="false" /> <Property Name="Title" Type="nvarchar" MaxLength="8" /> <Property Name="FirstName" Type="nvarchar" Nullable="false" MaxLength="50" /> <Property Name="MiddleName" Type="nvarchar" MaxLength="50" /> <Property Name="LastName" Type="nvarchar" Nullable="false" MaxLength="50" /> <Property Name="Suffix" Type="nvarchar" MaxLength="10" /> <Property Name="EmailAddress" Type="nvarchar" MaxLength="50" /> <Property Name="EmailPromotion" Type="int" Nullable="false" /> <Property Name="Phone" Type="nvarchar" MaxLength="25" /> <Property Name="PasswordHash" Type="varchar" Nullable="false" MaxLength="128" /> <Property Name="PasswordSalt" Type="varchar" Nullable="false" MaxLength="10" /> <Property Name="AdditionalContactInfo" Type="xml" /> <Property Name="rowguid" Type="uniqueidentifier" Nullable="false" /> <Property Name="ModifiedDate" Type="datetime" Nullable="false" /> </EntityType> <EntityType Name="Product"> <Key> <PropertyRef Name="ProductID" /> </Key> <Property Name="ProductID" Type="int" Nullable="false" StoreGeneratedPattern="Identity" /> <Property Name="Name" Type="nvarchar" Nullable="false" MaxLength="50" /> <Property Name="ProductNumber" Type="nvarchar" Nullable="false" MaxLength="25" /> <Property Name="MakeFlag" Type="bit" Nullable="false" /> <Property Name="FinishedGoodsFlag" Type="bit" Nullable="false" /> <Property Name="Color" Type="nvarchar" MaxLength="15" /> <Property Name="SafetyStockLevel" Type="smallint" Nullable="false" /> <Property Name="ReorderPoint" Type="smallint" Nullable="false" /> <Property Name="StandardCost" Type="money" Nullable="false" /> <Property Name="ListPrice" Type="money" Nullable="false" /> <Property Name="Size" Type="nvarchar" MaxLength="5" /> <Property Name="SizeUnitMeasureCode" Type="nchar" MaxLength="3" /> <Property Name="WeightUnitMeasureCode" Type="nchar" MaxLength="3" /> <Property Name="Weight" Type="decimal" Precision="8" Scale="2" /> <Property Name="DaysToManufacture" Type="int" Nullable="false" /> <Property Name="ProductLine" Type="nchar" MaxLength="2" /> <Property Name="Class" Type="nchar" MaxLength="2" /> <Property Name="Style" Type="nchar" MaxLength="2" /> <Property Name="ProductSubcategoryID" Type="int" /> <Property Name="ProductModelID" Type="int" /> <Property Name="SellStartDate" Type="datetime" Nullable="false" /> <Property Name="SellEndDate" Type="datetime" /> <Property Name="DiscontinuedDate" Type="datetime" /> <Property Name="rowguid" Type="uniqueidentifier" Nullable="false" /> <Property Name="ModifiedDate" Type="datetime" Nullable="false" /> </EntityType> <EntityType Name="SalesOrderDetail"> <Key> <PropertyRef Name="SalesOrderID" /> <PropertyRef Name="SalesOrderDetailID" /> </Key> <Property Name="SalesOrderID" Type="int" Nullable="false" /> <Property Name="SalesOrderDetailID" Type="int" Nullable="false" StoreGeneratedPattern="Identity" /> <Property Name="CarrierTrackingNumber" Type="nvarchar" MaxLength="25" /> <Property Name="OrderQty" Type="smallint" Nullable="false" /> <Property Name="ProductID" Type="int" Nullable="false" /> <Property Name="SpecialOfferID" Type="int" Nullable="false" /> <Property Name="UnitPrice" Type="money" Nullable="false" /> <Property Name="UnitPriceDiscount" Type="money" Nullable="false" /> <Property Name="LineTotal" Type="numeric" Nullable="false" Precision="38" Scale="6" StoreGeneratedPattern="Computed" /> <Property Name="rowguid" Type="uniqueidentifier" Nullable="false" /> <Property Name="ModifiedDate" Type="datetime" Nullable="false" /> </EntityType> <EntityType Name="SalesOrderHeader"> <Key> <PropertyRef Name="SalesOrderID" /> </Key> <Property Name="SalesOrderID" Type="int" Nullable="false" StoreGeneratedPattern="Identity" /> <Property Name="RevisionNumber" Type="tinyint" Nullable="false" /> <Property Name="OrderDate" Type="datetime" Nullable="false" /> <Property Name="DueDate" Type="datetime" Nullable="false" /> <Property Name="ShipDate" Type="datetime" /> <Property Name="Status" Type="tinyint" Nullable="false" /> <Property Name="OnlineOrderFlag" Type="bit" Nullable="false" /> <Property Name="SalesOrderNumber" Type="nvarchar" Nullable="false" MaxLength="25" StoreGeneratedPattern="Computed" /> <Property Name="PurchaseOrderNumber" Type="nvarchar" MaxLength="25" /> <Property Name="AccountNumber" Type="nvarchar" MaxLength="15" /> <Property Name="CustomerID" Type="int" Nullable="false" /> <Property Name="ContactID" Type="int" Nullable="false" /> <Property Name="SalesPersonID" Type="int" /> <Property Name="TerritoryID" Type="int" /> <Property Name="BillToAddressID" Type="int" Nullable="false" /> <Property Name="ShipToAddressID" Type="int" Nullable="false" /> <Property Name="ShipMethodID" Type="int" Nullable="false" /> <Property Name="CreditCardID" Type="int" /> <Property Name="CreditCardApprovalCode" Type="varchar" MaxLength="15" /> <Property Name="CurrencyRateID" Type="int" /> <Property Name="SubTotal" Type="money" Nullable="false" /> <Property Name="TaxAmt" Type="money" Nullable="false" /> <Property Name="Freight" Type="money" Nullable="false" /> <Property Name="TotalDue" Type="money" Nullable="false" StoreGeneratedPattern="Computed" /> <Property Name="Comment" Type="nvarchar" MaxLength="128" /> <Property Name="rowguid" Type="uniqueidentifier" Nullable="false" /> <Property Name="ModifiedDate" Type="datetime" Nullable="false" /> </EntityType> <Association Name="FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID"> <End Role="SalesOrderHeader" Type="AdventureWorksModel.Store.SalesOrderHeader" Multiplicity="1"> <OnDelete Action="Cascade" /> </End> <End Role="SalesOrderDetail" Type="AdventureWorksModel.Store.SalesOrderDetail" Multiplicity="*" /> <ReferentialConstraint> <Principal Role="SalesOrderHeader"> <PropertyRef Name="SalesOrderID" /> </Principal> <Dependent Role="SalesOrderDetail"> <PropertyRef Name="SalesOrderID" /> </Dependent> </ReferentialConstraint> </Association> <Association Name="FK_SalesOrderHeader_Address_BillToAddressID"> <End Role="Address" Type="AdventureWorksModel.Store.Address" Multiplicity="1" /> <End Role="SalesOrderHeader" Type="AdventureWorksModel.Store.SalesOrderHeader" Multiplicity="*" /> <ReferentialConstraint> <Principal Role="Address"> <PropertyRef Name="AddressID" /> </Principal> <Dependent Role="SalesOrderHeader"> <PropertyRef Name="BillToAddressID" /> </Dependent> </ReferentialConstraint> </Association> <Association Name="FK_SalesOrderHeader_Address_ShipToAddressID"> <End Role="Address" Type="AdventureWorksModel.Store.Address" Multiplicity="1" /> <End Role="SalesOrderHeader" Type="AdventureWorksModel.Store.SalesOrderHeader" Multiplicity="*" /> <ReferentialConstraint> <Principal Role="Address"> <PropertyRef Name="AddressID" /> </Principal> <Dependent Role="SalesOrderHeader"> <PropertyRef Name="ShipToAddressID" /> </Dependent> </ReferentialConstraint> </Association> <Association Name="FK_SalesOrderHeader_Contact_ContactID"> <End Role="Contact" Type="AdventureWorksModel.Store.Contact" Multiplicity="1" /> <End Role="SalesOrderHeader" Type="AdventureWorksModel.Store.SalesOrderHeader" Multiplicity="*" /> <ReferentialConstraint> <Principal Role="Contact"> <PropertyRef Name="ContactID" /> </Principal> <Dependent Role="SalesOrderHeader"> <PropertyRef Name="ContactID" /> </Dependent> </ReferentialConstraint> </Association> </Schema>
So erstellen Sie die CSDL-Datei.
Erstellen Sie im Projektverzeichnis eine Datei mit dem Namen AdventureWorks.csdl, und fügen Sie in diese folgenden Inhalt ein:
<Schema Namespace="AdventureWorksModel" Alias="Self" xmlns:annotation="https://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns="https://schemas.microsoft.com/ado/2008/09/edm"> <EntityContainer Name="AdventureWorksEntities" annotation:LazyLoadingEnabled="true"> <EntitySet Name="Addresses" EntityType="AdventureWorksModel.Address" /> <EntitySet Name="Contacts" EntityType="AdventureWorksModel.Contact" /> <EntitySet Name="Products" EntityType="AdventureWorksModel.Product" /> <EntitySet Name="SalesOrderDetails" EntityType="AdventureWorksModel.SalesOrderDetail" /> <EntitySet Name="SalesOrderHeaders" EntityType="AdventureWorksModel.SalesOrderHeader" /> <AssociationSet Name="FK_SalesOrderHeader_Address_BillToAddressID" Association="AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID"> <End Role="Address" EntitySet="Addresses" /> <End Role="SalesOrderHeader" EntitySet="SalesOrderHeaders" /> </AssociationSet> <AssociationSet Name="FK_SalesOrderHeader_Address_ShipToAddressID" Association="AdventureWorksModel.FK_SalesOrderHeader_Address_ShipToAddressID"> <End Role="Address" EntitySet="Addresses" /> <End Role="SalesOrderHeader" EntitySet="SalesOrderHeaders" /> </AssociationSet> <AssociationSet Name="FK_SalesOrderHeader_Contact_ContactID" Association="AdventureWorksModel.FK_SalesOrderHeader_Contact_ContactID"> <End Role="Contact" EntitySet="Contacts" /> <End Role="SalesOrderHeader" EntitySet="SalesOrderHeaders" /> </AssociationSet> <AssociationSet Name="FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID" Association="AdventureWorksModel.FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID"> <End Role="SalesOrderHeader" EntitySet="SalesOrderHeaders" /> <End Role="SalesOrderDetail" EntitySet="SalesOrderDetails" /> </AssociationSet> </EntityContainer> <EntityType Name="Address"> <Key> <PropertyRef Name="AddressID" /> </Key> <Property Name="AddressID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" /> <Property Name="AddressLine1" Type="String" Nullable="false" MaxLength="60" Unicode="true" FixedLength="false" /> <Property Name="AddressLine2" Type="String" MaxLength="60" Unicode="true" FixedLength="false" /> <Property Name="City" Type="String" Nullable="false" MaxLength="30" Unicode="true" FixedLength="false" /> <Property Name="StateProvinceID" Type="Int32" Nullable="false" /> <Property Name="PostalCode" Type="String" Nullable="false" MaxLength="15" Unicode="true" FixedLength="false" /> <Property Name="rowguid" Type="Guid" Nullable="false" /> <Property Name="ModifiedDate" Type="DateTime" Nullable="false" /> <NavigationProperty Name="SalesOrderHeaders" Relationship="AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID" FromRole="Address" ToRole="SalesOrderHeader" /> <NavigationProperty Name="SalesOrderHeaders1" Relationship="AdventureWorksModel.FK_SalesOrderHeader_Address_ShipToAddressID" FromRole="Address" ToRole="SalesOrderHeader" /> </EntityType> <EntityType Name="Contact"> <Key> <PropertyRef Name="ContactID" /> </Key> <Property Name="ContactID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" /> <Property Name="NameStyle" Type="Boolean" Nullable="false" /> <Property Name="Title" Type="String" MaxLength="8" Unicode="true" FixedLength="false" /> <Property Name="FirstName" Type="String" Nullable="false" MaxLength="50" Unicode="true" FixedLength="false" /> <Property Name="MiddleName" Type="String" MaxLength="50" Unicode="true" FixedLength="false" /> <Property Name="LastName" Type="String" Nullable="false" MaxLength="50" Unicode="true" FixedLength="false" /> <Property Name="Suffix" Type="String" MaxLength="10" Unicode="true" FixedLength="false" /> <Property Name="EmailPromotion" Type="Int32" Nullable="false" /> <Property Name="PasswordHash" Type="String" Nullable="false" MaxLength="128" Unicode="false" FixedLength="false" /> <Property Name="PasswordSalt" Type="String" Nullable="false" MaxLength="10" Unicode="false" FixedLength="false" /> <Property Name="AdditionalContactInfo" Type="String" MaxLength="Max" Unicode="true" FixedLength="false" /> <Property Name="rowguid" Type="Guid" Nullable="false" /> <Property Name="ModifiedDate" Type="DateTime" Nullable="false" /> <NavigationProperty Name="SalesOrderHeaders" Relationship="AdventureWorksModel.FK_SalesOrderHeader_Contact_ContactID" FromRole="Contact" ToRole="SalesOrderHeader" /> <Property Name="EmailPhoneComplexProperty" Type="AdventureWorksModel.EmailPhone" Nullable="false" /> </EntityType> <EntityType Name="Product"> <Key> <PropertyRef Name="ProductID" /> </Key> <Property Name="ProductID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" /> <Property Name="Name" Type="String" Nullable="false" MaxLength="50" Unicode="true" FixedLength="false" /> <Property Name="ProductNumber" Type="String" Nullable="false" MaxLength="25" Unicode="true" FixedLength="false" /> <Property Name="MakeFlag" Type="Boolean" Nullable="false" /> <Property Name="FinishedGoodsFlag" Type="Boolean" Nullable="false" /> <Property Name="Color" Type="String" MaxLength="15" Unicode="true" FixedLength="false" /> <Property Name="SafetyStockLevel" Type="Int16" Nullable="false" /> <Property Name="ReorderPoint" Type="Int16" Nullable="false" /> <Property Name="StandardCost" Type="Decimal" Nullable="false" Precision="19" Scale="4" /> <Property Name="ListPrice" Type="Decimal" Nullable="false" Precision="19" Scale="4" /> <Property Name="Size" Type="String" MaxLength="5" Unicode="true" FixedLength="false" /> <Property Name="SizeUnitMeasureCode" Type="String" MaxLength="3" Unicode="true" FixedLength="true" /> <Property Name="WeightUnitMeasureCode" Type="String" MaxLength="3" Unicode="true" FixedLength="true" /> <Property Name="Weight" Type="Decimal" Precision="8" Scale="2" /> <Property Name="DaysToManufacture" Type="Int32" Nullable="false" /> <Property Name="ProductLine" Type="String" MaxLength="2" Unicode="true" FixedLength="true" /> <Property Name="Class" Type="String" MaxLength="2" Unicode="true" FixedLength="true" /> <Property Name="Style" Type="String" MaxLength="2" Unicode="true" FixedLength="true" /> <Property Name="ProductSubcategoryID" Type="Int32" /> <Property Name="ProductModelID" Type="Int32" /> <Property Name="SellStartDate" Type="DateTime" Nullable="false" /> <Property Name="SellEndDate" Type="DateTime" /> <Property Name="DiscontinuedDate" Type="DateTime" /> <Property Name="rowguid" Type="Guid" Nullable="false" /> <Property Name="ModifiedDate" Type="DateTime" Nullable="false" /> </EntityType> <EntityType Name="SalesOrderDetail"> <Key> <PropertyRef Name="SalesOrderID" /> <PropertyRef Name="SalesOrderDetailID" /> </Key> <Property Name="SalesOrderID" Type="Int32" Nullable="false" /> <Property Name="SalesOrderDetailID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" /> <Property Name="CarrierTrackingNumber" Type="String" MaxLength="25" Unicode="true" FixedLength="false" DefaultValue="1A-2B-3C" a:SetterAccess="Protected" xmlns:a="https://schemas.microsoft.com/ado/2006/04/codegeneration" /> <Property Name="OrderQty" Type="Int16" Nullable="false" /> <Property Name="ProductID" Type="Int32" Nullable="false" /> <Property Name="SpecialOfferID" Type="Int32" Nullable="false" /> <Property Name="UnitPrice" Type="Decimal" Nullable="false" Precision="19" Scale="4" /> <Property Name="UnitPriceDiscount" Type="Decimal" Nullable="false" Precision="19" Scale="4" /> <Property Name="LineTotal" Type="Decimal" Nullable="false" Precision="38" Scale="6" annotation:StoreGeneratedPattern="Computed" /> <Property Name="rowguid" Type="Guid" Nullable="false" /> <Property Name="ModifiedDate" Type="DateTime" Nullable="false" /> <NavigationProperty Name="SalesOrderHeader" Relationship="AdventureWorksModel.FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID" FromRole="SalesOrderDetail" ToRole="SalesOrderHeader" /> </EntityType> <EntityType Name="SalesOrderHeader"> <Key> <PropertyRef Name="SalesOrderID" /> </Key> <Property Name="SalesOrderID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" /> <Property Name="RevisionNumber" Type="Byte" Nullable="false" /> <Property Name="OrderDate" Type="DateTime" Nullable="false" /> <Property Name="DueDate" Type="DateTime" Nullable="false" /> <Property Name="ShipDate" Type="DateTime" /> <Property Name="Status" Type="Byte" Nullable="false" ConcurrencyMode="Fixed" /> <Property Name="OnlineOrderFlag" Type="Boolean" Nullable="false" /> <Property Name="SalesOrderNumber" Type="String" Nullable="false" MaxLength="25" Unicode="true" FixedLength="false" annotation:StoreGeneratedPattern="Computed" /> <Property Name="PurchaseOrderNumber" Type="String" MaxLength="25" Unicode="true" FixedLength="false" /> <Property Name="AccountNumber" Type="String" MaxLength="15" Unicode="true" FixedLength="false" /> <Property Name="CustomerID" Type="Int32" Nullable="false" /> <Property Name="ContactID" Type="Int32" Nullable="false" /> <Property Name="SalesPersonID" Type="Int32" /> <Property Name="TerritoryID" Type="Int32" /> <Property Name="BillToAddressID" Type="Int32" Nullable="false" /> <Property Name="ShipToAddressID" Type="Int32" Nullable="false" /> <Property Name="ShipMethodID" Type="Int32" Nullable="false" /> <Property Name="CreditCardID" Type="Int32" /> <Property Name="CreditCardApprovalCode" Type="String" MaxLength="15" Unicode="false" FixedLength="false" /> <Property Name="CurrencyRateID" Type="Int32" /> <Property Name="SubTotal" Type="Decimal" Nullable="false" Precision="19" Scale="4" /> <Property Name="TaxAmt" Type="Decimal" Nullable="false" Precision="19" Scale="4" /> <Property Name="Freight" Type="Decimal" Nullable="false" Precision="19" Scale="4" /> <Property Name="TotalDue" Type="Decimal" Nullable="false" Precision="19" Scale="4" annotation:StoreGeneratedPattern="Computed" /> <Property Name="Comment" Type="String" MaxLength="128" Unicode="true" FixedLength="false" /> <Property Name="rowguid" Type="Guid" Nullable="false" /> <Property Name="ModifiedDate" Type="DateTime" Nullable="false" /> <NavigationProperty Name="Address" Relationship="AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID" FromRole="SalesOrderHeader" ToRole="Address" /> <NavigationProperty Name="Address1" Relationship="AdventureWorksModel.FK_SalesOrderHeader_Address_ShipToAddressID" FromRole="SalesOrderHeader" ToRole="Address" /> <NavigationProperty Name="Contact" Relationship="AdventureWorksModel.FK_SalesOrderHeader_Contact_ContactID" FromRole="SalesOrderHeader" ToRole="Contact" /> <NavigationProperty Name="SalesOrderDetails" Relationship="AdventureWorksModel.FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID" FromRole="SalesOrderHeader" ToRole="SalesOrderDetail" /> </EntityType> <Association Name="FK_SalesOrderHeader_Address_BillToAddressID"> <End Role="Address" Type="AdventureWorksModel.Address" Multiplicity="1" /> <End Role="SalesOrderHeader" Type="AdventureWorksModel.SalesOrderHeader" Multiplicity="*" /> <ReferentialConstraint> <Principal Role="Address"> <PropertyRef Name="AddressID" /> </Principal> <Dependent Role="SalesOrderHeader"> <PropertyRef Name="BillToAddressID" /> </Dependent> </ReferentialConstraint> </Association> <Association Name="FK_SalesOrderHeader_Address_ShipToAddressID"> <End Role="Address" Type="AdventureWorksModel.Address" Multiplicity="1" /> <End Role="SalesOrderHeader" Type="AdventureWorksModel.SalesOrderHeader" Multiplicity="*" /> <ReferentialConstraint> <Principal Role="Address"> <PropertyRef Name="AddressID" /> </Principal> <Dependent Role="SalesOrderHeader"> <PropertyRef Name="ShipToAddressID" /> </Dependent> </ReferentialConstraint> </Association> <Association Name="FK_SalesOrderHeader_Contact_ContactID"> <End Role="Contact" Type="AdventureWorksModel.Contact" Multiplicity="1" /> <End Role="SalesOrderHeader" Type="AdventureWorksModel.SalesOrderHeader" Multiplicity="*" /> <ReferentialConstraint> <Principal Role="Contact"> <PropertyRef Name="ContactID" /> </Principal> <Dependent Role="SalesOrderHeader"> <PropertyRef Name="ContactID" /> </Dependent> </ReferentialConstraint> </Association> <Association Name="FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID"> <End Role="SalesOrderHeader" Type="AdventureWorksModel.SalesOrderHeader" Multiplicity="1"> <OnDelete Action="Cascade" /> </End> <End Role="SalesOrderDetail" Type="AdventureWorksModel.SalesOrderDetail" Multiplicity="*" /> <ReferentialConstraint> <Principal Role="SalesOrderHeader"> <PropertyRef Name="SalesOrderID" /> </Principal> <Dependent Role="SalesOrderDetail"> <PropertyRef Name="SalesOrderID" /> </Dependent> </ReferentialConstraint> </Association> <ComplexType Name="EmailPhone"> <Property Type="String" Name="EmailAddress" MaxLength="50" FixedLength="false" Unicode="true" /> <Property Type="String" Name="Phone" MaxLength="25" FixedLength="false" Unicode="true" /></ComplexType> </Schema>
So erstellen Sie die MSL-Datei.
Erstellen Sie im Projektverzeichnis eine Datei mit dem Namen AdventureWorks.msl, und fügen Sie in diese folgenden Inhalt ein:
<Mapping Space="C-S" xmlns="https://schemas.microsoft.com/ado/2008/09/mapping/cs"> <EntityContainerMapping StorageEntityContainer="AdventureWorksModelStoreContainer" CdmEntityContainer="AdventureWorksEntities"> <EntitySetMapping Name="Addresses"><EntityTypeMapping TypeName="AdventureWorksModel.Address"><MappingFragment StoreEntitySet="Address"> <ScalarProperty Name="AddressID" ColumnName="AddressID" /> <ScalarProperty Name="AddressLine1" ColumnName="AddressLine1" /> <ScalarProperty Name="AddressLine2" ColumnName="AddressLine2" /> <ScalarProperty Name="City" ColumnName="City" /> <ScalarProperty Name="StateProvinceID" ColumnName="StateProvinceID" /> <ScalarProperty Name="PostalCode" ColumnName="PostalCode" /> <ScalarProperty Name="rowguid" ColumnName="rowguid" /> <ScalarProperty Name="ModifiedDate" ColumnName="ModifiedDate" /> </MappingFragment></EntityTypeMapping></EntitySetMapping> <EntitySetMapping Name="Contacts"><EntityTypeMapping TypeName="AdventureWorksModel.Contact"><MappingFragment StoreEntitySet="Contact"> <ScalarProperty Name="ContactID" ColumnName="ContactID" /> <ScalarProperty Name="NameStyle" ColumnName="NameStyle" /> <ScalarProperty Name="Title" ColumnName="Title" /> <ScalarProperty Name="FirstName" ColumnName="FirstName" /> <ScalarProperty Name="MiddleName" ColumnName="MiddleName" /> <ScalarProperty Name="LastName" ColumnName="LastName" /> <ScalarProperty Name="Suffix" ColumnName="Suffix" /> <ScalarProperty Name="EmailPromotion" ColumnName="EmailPromotion" /> <ScalarProperty Name="PasswordHash" ColumnName="PasswordHash" /> <ScalarProperty Name="PasswordSalt" ColumnName="PasswordSalt" /> <ScalarProperty Name="AdditionalContactInfo" ColumnName="AdditionalContactInfo" /> <ScalarProperty Name="rowguid" ColumnName="rowguid" /> <ScalarProperty Name="ModifiedDate" ColumnName="ModifiedDate" /> <ComplexProperty Name="EmailPhoneComplexProperty"> <ScalarProperty Name="Phone" ColumnName="Phone" /> <ScalarProperty Name="EmailAddress" ColumnName="EmailAddress" /></ComplexProperty> </MappingFragment></EntityTypeMapping></EntitySetMapping> <EntitySetMapping Name="Products"><EntityTypeMapping TypeName="AdventureWorksModel.Product"><MappingFragment StoreEntitySet="Product"> <ScalarProperty Name="ProductID" ColumnName="ProductID" /> <ScalarProperty Name="Name" ColumnName="Name" /> <ScalarProperty Name="ProductNumber" ColumnName="ProductNumber" /> <ScalarProperty Name="MakeFlag" ColumnName="MakeFlag" /> <ScalarProperty Name="FinishedGoodsFlag" ColumnName="FinishedGoodsFlag" /> <ScalarProperty Name="Color" ColumnName="Color" /> <ScalarProperty Name="SafetyStockLevel" ColumnName="SafetyStockLevel" /> <ScalarProperty Name="ReorderPoint" ColumnName="ReorderPoint" /> <ScalarProperty Name="StandardCost" ColumnName="StandardCost" /> <ScalarProperty Name="ListPrice" ColumnName="ListPrice" /> <ScalarProperty Name="Size" ColumnName="Size" /> <ScalarProperty Name="SizeUnitMeasureCode" ColumnName="SizeUnitMeasureCode" /> <ScalarProperty Name="WeightUnitMeasureCode" ColumnName="WeightUnitMeasureCode" /> <ScalarProperty Name="Weight" ColumnName="Weight" /> <ScalarProperty Name="DaysToManufacture" ColumnName="DaysToManufacture" /> <ScalarProperty Name="ProductLine" ColumnName="ProductLine" /> <ScalarProperty Name="Class" ColumnName="Class" /> <ScalarProperty Name="Style" ColumnName="Style" /> <ScalarProperty Name="ProductSubcategoryID" ColumnName="ProductSubcategoryID" /> <ScalarProperty Name="ProductModelID" ColumnName="ProductModelID" /> <ScalarProperty Name="SellStartDate" ColumnName="SellStartDate" /> <ScalarProperty Name="SellEndDate" ColumnName="SellEndDate" /> <ScalarProperty Name="DiscontinuedDate" ColumnName="DiscontinuedDate" /> <ScalarProperty Name="rowguid" ColumnName="rowguid" /> <ScalarProperty Name="ModifiedDate" ColumnName="ModifiedDate" /> </MappingFragment></EntityTypeMapping></EntitySetMapping> <EntitySetMapping Name="SalesOrderDetails"><EntityTypeMapping TypeName="AdventureWorksModel.SalesOrderDetail"><MappingFragment StoreEntitySet="SalesOrderDetail"> <ScalarProperty Name="SalesOrderID" ColumnName="SalesOrderID" /> <ScalarProperty Name="SalesOrderDetailID" ColumnName="SalesOrderDetailID" /> <ScalarProperty Name="CarrierTrackingNumber" ColumnName="CarrierTrackingNumber" /> <ScalarProperty Name="OrderQty" ColumnName="OrderQty" /> <ScalarProperty Name="ProductID" ColumnName="ProductID" /> <ScalarProperty Name="SpecialOfferID" ColumnName="SpecialOfferID" /> <ScalarProperty Name="UnitPrice" ColumnName="UnitPrice" /> <ScalarProperty Name="UnitPriceDiscount" ColumnName="UnitPriceDiscount" /> <ScalarProperty Name="LineTotal" ColumnName="LineTotal" /> <ScalarProperty Name="rowguid" ColumnName="rowguid" /> <ScalarProperty Name="ModifiedDate" ColumnName="ModifiedDate" /> </MappingFragment></EntityTypeMapping></EntitySetMapping> <EntitySetMapping Name="SalesOrderHeaders"><EntityTypeMapping TypeName="AdventureWorksModel.SalesOrderHeader"><MappingFragment StoreEntitySet="SalesOrderHeader"> <ScalarProperty Name="SalesOrderID" ColumnName="SalesOrderID" /> <ScalarProperty Name="RevisionNumber" ColumnName="RevisionNumber" /> <ScalarProperty Name="OrderDate" ColumnName="OrderDate" /> <ScalarProperty Name="DueDate" ColumnName="DueDate" /> <ScalarProperty Name="ShipDate" ColumnName="ShipDate" /> <ScalarProperty Name="Status" ColumnName="Status" /> <ScalarProperty Name="OnlineOrderFlag" ColumnName="OnlineOrderFlag" /> <ScalarProperty Name="SalesOrderNumber" ColumnName="SalesOrderNumber" /> <ScalarProperty Name="PurchaseOrderNumber" ColumnName="PurchaseOrderNumber" /> <ScalarProperty Name="AccountNumber" ColumnName="AccountNumber" /> <ScalarProperty Name="CustomerID" ColumnName="CustomerID" /> <ScalarProperty Name="ContactID" ColumnName="ContactID" /> <ScalarProperty Name="SalesPersonID" ColumnName="SalesPersonID" /> <ScalarProperty Name="TerritoryID" ColumnName="TerritoryID" /> <ScalarProperty Name="BillToAddressID" ColumnName="BillToAddressID" /> <ScalarProperty Name="ShipToAddressID" ColumnName="ShipToAddressID" /> <ScalarProperty Name="ShipMethodID" ColumnName="ShipMethodID" /> <ScalarProperty Name="CreditCardID" ColumnName="CreditCardID" /> <ScalarProperty Name="CreditCardApprovalCode" ColumnName="CreditCardApprovalCode" /> <ScalarProperty Name="CurrencyRateID" ColumnName="CurrencyRateID" /> <ScalarProperty Name="SubTotal" ColumnName="SubTotal" /> <ScalarProperty Name="TaxAmt" ColumnName="TaxAmt" /> <ScalarProperty Name="Freight" ColumnName="Freight" /> <ScalarProperty Name="TotalDue" ColumnName="TotalDue" /> <ScalarProperty Name="Comment" ColumnName="Comment" /> <ScalarProperty Name="rowguid" ColumnName="rowguid" /> <ScalarProperty Name="ModifiedDate" ColumnName="ModifiedDate" /> </MappingFragment></EntityTypeMapping></EntitySetMapping> </EntityContainerMapping> </Mapping>
Siehe auch
Konzepte
Schnellstart (Entity Framework)
Hinweis: