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


ModificationFunctionMapping (AssociationSetMapping)

Будучи дочерним элементом элемента AssociationSetMapping в модели EDM, элемент ModificationFunctionMapping определяет хранимые процедуры, которые вставляют и удаляют экземпляры Association между сущностями. Элемент ModificationFunctionMapping в элементе AssociationSetMapping позволяет выполнять сопоставление ассоциаций типа «многие ко многим», которые поддерживаются связанными таблицами в модели хранения.

В функции AssociationSetMappping элемент ModificationFunctionMapping содержит элемент InsertFunction, который определяет хранимую процедуру, создающую ассоциации между сущностями. Элемент ModificationFunctionMapping включает также элемент DeleteFunction, который определяет хранимую процедуру для удаления ассоциации между сущностями. Чтобы можно было определять сущности в ассоциации, в элементах InsertFunction и DeleteFunction используются дочерние элементы EndProperty.

NoteПримечание.

Элемент ModificationFunctionMapping может также сопоставлять хранимые процедуры для вставки, обновления и удаления экземпляров элемента EntityType. В этом случае элемент ModificationFunctionMapping является дочерним по отношению к элементу EntityTypeMapping, который, в свою очередь, содержится внутри элемента EntitySetMapping. Дополнительные сведения см. в разделах ModificationFunctionMapping (EntityTypeMapping) и Поддержка хранимых процедур (платформа Entity Framework).

Пример

В этом примере элемент ModificationFunctionMapping содержит элементы InsertFunction и DeleteFunction, которые определяют хранимые процедуры для создания и удаления ассоциаций между сущностями Contact и Address. Для задания сущностей Contact и Address в элементах InsertFunction и DeleteFunction используются элементы EndProperty. Элементы EndProperty, в свою очередь, содержат дочерние элементы ScalarProperty, описывающие привязки параметров для значений ключей сущностей в элементах ассоциации Association. Дочерние элементы ScalarProperty указывают также соответствующие параметры хранимых процедур.

NoteПримечание.

Привязки EndProperty, объявленные в сопоставлении хранимых процедур AssociationSet, напоминают элемент AssociationEnd, объявляемый в сопоставлении функции EntitySet. Но для элементов EndProperty необходимый контекст предоставляет содержащий их элемент AssociationSet.

В следующем примере рассматривается весь элемент AssociationSetMapping с элементом ModificationFunctionMapping.

  <AssociationSetMapping Name="Contact_Address"
                TypeName="ContactInformationModel.Contact_Address"
                StoreEntitySet="Contact_Address">
    <EndProperty Name="Address">
      <ScalarProperty Name="AddressID" ColumnName="AddressID" />
    </EndProperty>
    <EndProperty Name="Contact">
      <ScalarProperty Name="ContactID" ColumnName="ContactID" />
    </EndProperty>
    <ModificationFunctionMapping>
      <DeleteFunction
        FunctionName="ContactInformationModel.Store.DeleteAddress">
        <EndProperty Name="Address">
          <ScalarProperty Name="AddressID" ParameterName="AddressID"/>
        </EndProperty>
        <EndProperty Name="Contact">
          <ScalarProperty Name="ContactID" ParameterName="ContactID"/>
        </EndProperty>
      </DeleteFunction>
      <InsertFunction
        FunctionName="ContactInformationModel.Store.SetAddress">
        <EndProperty Name="Address">
          <ScalarProperty Name="AddressID" ParameterName="AddressID"/>
        </EndProperty>
        <EndProperty Name="Contact">
          <ScalarProperty Name="ContactID" ParameterName="ContactID"/>
        </EndProperty>
      </InsertFunction>
    </ModificationFunctionMapping>

См. также

Задачи

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

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

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