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


UpdateFunction (EntityTypeMapping)

Будучи дочерним элементом элемента EntityTypeMapping в модели EDM, элемент UpdateFunction внутри элемента ModificationFunctionMapping идентифицирует хранимую процедуру, которая обновляет или модифицирует существующую сущность.

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

Пример

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

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

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

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

Наряду с дочерним элементом ScalarProperty элемент UpdateFunction включает в себя элемент AssociationEnd, осуществляющий сопоставление ассоциаций, на которые может ссылаться изменяемая сущность. Дополнительные сведения см. в разделе Элемент AssociationEnd (EntityTypeMapping).

  <UpdateFunction
     FunctionName="AdventureWorksModel.Store.UpdateSalesOrderDetail" >
        <ScalarProperty Name="OrderQty" ParameterName="OrderQty"  Version="Current"/>
        <ScalarProperty Name="SalesOrderDetailID"
           ParameterName="SalesOrderDetailID" Version="Current"/>
      <AssociationEnd
         AssociationSet="FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID"
    From="SalesOrderDetail" To="SalesOrderHeader">
        <ScalarProperty Name="SalesOrderID"
          ParameterName="SalesOrderID" Version="Current" />
       </AssociationEnd>
  </UpdateFunction>

См. также

Задачи

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

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

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