Элемент 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)