Поделиться через


Элемент InsertFunction (EntityTypeMapping)

Как дочерний элемент EntityTypeMapping модели EDM элемент InsertFunction элемента ModificationFunctionMapping определяет хранимую процедуру, которая создает новую сущность.

Для создания новой сущности элемент InsertFunction сопоставляет свойства сущности в схеме хранения параметрам хранимой процедуры в базе данных. Хранимая процедура создает новый экземпляр сущности в хранилище.

Примеры

В следующем примере элемент InsertFunction сопоставляет хранимую процедуру, создающую экземпляры сущности SalesOrderDetail в модели Adventureworks. Каждый дочерний элемент ScalarProperty в элементе InsertFunction сопоставляет свойство сущности SalesOrderDetail параметру в хранимой процедуре. Для сопоставления этих сущностей дочерний элемент ScalarProperty использует следующие атрибуты.

  • Атрибут Name определяет свойство сопоставляемой сущности SalesOrderDetail.

  • Атрибут ParameterName определяет параметр хранимой процедуры, которому сопоставляется сущность SalesOrderDetail.

  • Атрибут Version определяет данные либо как оригинальные сведения, полученные из базы данных, либо как текущие данные, которые, возможно, были изменены клиентским кодом.

Кроме дочернего элемента ScalarProperty, элемент InsertFunction включает элемент AssociationEnd, сопоставляющий ассоциации, экземпляры которых может создать новая сущность. Дополнительные сведения см. в разделе Элемент 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>

См. также

Задачи

Как определить модель с помощью хранимой процедуры (платформа Entity Framework)

Основные понятия

Поддержка хранимых процедур (платформа Entity Framework)
ModificationFunctionMapping (AssociationSetMapping)
Элемент DeleteFunction (EntityTypeMapping)
UpdateFunction (EntityTypeMapping)