Compartir a través de


InsertFunction (EntityTypeMapping)

Como elemento secundario de un elemento EntityTypeMapping en el Entity Data Model (EDM), el elemento InsertFunction en un elemento ModificationFunctionMapping identifica el procedimiento almacenado que crea una entidad nueva.

Para crear esta nueva entidad, el elemento InsertFunction asigna las propiedades de una entidad en el esquema de almacenamiento a los parámetros de un procedimiento almacenado en la base de datos. El procedimiento almacenado crea la nueva instancia de la entidad en el almacenamiento.

Ejemplo

En el ejemplo siguiente, el elemento InsertFunction asigna un procedimiento almacenado que crea las instancias nuevas de la entidad SalesOrderDetail en el modelo de ventas Adventureworks. Cada elemento secundario ScalarProperty en el elemento InsertFunction asigna una propiedad de la entidad SalesOrderDetail a un parámetro en el procedimiento almacenado. Para asignar estas entidades, el elemento secundario ScalarProperty utiliza estos atributos:

  • El atributo Name identifica la propiedad de la entidad SalesOrderDetail que se va a asignar.

  • El atributo ParameterName identifica el parámetro del procedimiento almacenado al que la propiedad de la entidad SalesOrderDetail se asigna.

  • El atributo Version especifica los datos como cualquier dato original leído de la base de datos o los datos actuales que posiblemente hayan cambiado con el código de cliente.

Además del elemento secundario ScalarProperty, el elemento InsertFunction incluye un elemento AssociationEnd que asigna asociaciones de las que la entidad que se está creando puede crear instancias. Para obtener más información, vea 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>

Vea también

Tareas

Cómo definir un modelo con un procedimiento almacenado (Entity Framework)

Conceptos

Compatibilidad con los procedimientos almacenados (Entity Framework)
ModificationFunctionMapping (AssociationSetMapping)
DeleteFunction (EntityTypeMapping)
UpdateFunction (EntityTypeMapping)