Freigeben über


InsertFunction (EntityTypeMapping)

Als untergeordnetes Element eines EntityTypeMapping-Elements im Entity Data Model (EDM) identifiziert das InsertFunction-Element in einem ModificationFunctionMapping-Element die gespeicherte Prozedur, mit der eine neue Entität erstellt wird.

Zum Erstellen dieser neuen Entität ordnet das InsertFunction-Element die Eigenschaften einer Entität im Speicherschema den Parametern einer gespeicherten Prozedur in der Datenbank zu. Die gespeicherte Prozedur erstellt die neue Instanz der Entität im Speicher.

Beispiel

Im folgenden Beispiel ordnet das InsertFunction-Element eine gespeicherte Prozedur zu, die neue Instanzen der SalesOrderDetail-Entität im "Adventureworks Sales"-Modell erstellt. Jedes untergeordnete ScalarProperty-Element im InsertFunction-Element ordnet eine Eigenschaft der SalesOrderDetail-Entität einem Parameter in der gespeicherten Prozedur zu. Um diese Entitäten zuzuordnen, verwendet das untergeordnete ScalarProperty-Element die folgenden Attribute:

  • Das Name-Attribut identifiziert die zuzuordnende Eigenschaft der SalesOrderDetail-Entität.

  • Das ParameterName-Attribut identifiziert den Parameter der gespeicherten Prozedur, dem die Eigenschaft der SalesOrderDetail-Entität zugeordnet wird.

  • Das Version-Attribut gibt die Daten entweder als Originaldaten der Datenbank an oder als aktuelle, möglicherweise durch den Clientcode geänderte Daten.

Zusätzlich zu dem untergeordnetem ScalarProperty-Element enthält das InsertFunction-Element ein AssociationEnd-Element, das Zuordnungen zuordnet, die die erstellte Entität instanziieren kann. Weitere Informationen finden Sie unter AssociationEnd (EntityTypeMapping).

  <InsertFunction
       FunctionName="AdventureWorksModel.Store.CreateSalesOrderDetail">
        <ScalarProperty Name="CarrierTrackingNumber"
              ParameterName="CarrierTrackingNumber" Version="Current"/>
        <ScalarProperty Name="OrderQty" ParameterName="OrderQty"
              Version="Current"/>
        <ScalarProperty Name="ProductID" ParameterName="ProductID"
              Version="Current"/>
        <ScalarProperty Name="SpecialOfferID"
              ParameterName="SpecialOfferID" Version="Current"/>
        <ScalarProperty Name="UnitPrice" ParameterName="UnitPrice"
              Version="Current"/>
        <ScalarProperty Name="UnitPriceDiscount"
              ParameterName="UnitPriceDiscount" Version="Current"/>
        <ScalarProperty Name="rowguid" ParameterName="rowguid" Version="Current"/>
        <ScalarProperty Name="ModifiedDate"
              ParameterName="ModifiedDate" Version="Current"/>
    <AssociationEnd
      AssociationSet="FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID"
     From="SalesOrderDetail" To="SalesOrderHeader">
        <ScalarProperty Name="SalesOrderID"
           ParameterName="SalesOrderID" />
    </AssociationEnd>
    <ResultBinding ColumnName="SalesOrderDetailID"
       Name="SalesOrderDetailID" />
    <ResultBinding ColumnName="LineTotal" Name="LineTotal" />
  </InsertFunction>

Siehe auch

Aufgaben

Gewusst wie: Definieren eines Modells mit einer gespeicherten Prozedur (Entity Framework)

Konzepte

Unterstützung für gespeicherte Prozeduren (Entity Framework)
ModificationFunctionMapping (AssociationSetMapping)
DeleteFunction (EntityTypeMapping)
UpdateFunction (EntityTypeMapping)