Добро пожаловать Гость, вы находитесь: Вход

Изображение Flexberry Wiki



  • Продукт: Flexberry ORM
  • Компонент: Сервис данных
  • Программная библиотека: ICSSoft.STORMNET.Business.dll
  • Предназначение: Интерфейс IReferencesCascadeDelete позволяет реализовать каскадное удаление, при котором все ссылающиеся объекты также удаляются.






IReferencesCascadeDelete

Интерфейс IReferencesCascadeDelete позволяет осуществлять каскадное удаление объектов (при удалении самого объекта все ссылающиеся на него объекты также удаляются).

Как работает IReferencesCascadeDelete

Логика по каскадному удалению прописана в бизнес-сервере интерфейса IReferencesCascadeDelete; собственных свойств и методов данный интерфейс не предоставляет. Таким образом, чтобы вместе с некоторым объектом удалить все объекты, которые на него ссылаются, достаточно, чтобы класс объекта был наследником от IReferencesCascadeDelete. Поиск классов, которые ссылаются на искомый, осуществляется следующим образом:
  1. Определяется директория, где располагается сборка с классом, ссылки на который мы ищем.
  2. В директории выбираются все сборки, имя которых заканчивается на «(Objects).dll».
  3. В сборках ищутся типы, наследующие от DataObject.
  4. В найденных типах определяются свойства, которые содержат ссылку на искомый класс или его прародителей.

Пример

Пусть у нас есть диаграмма вида:

Изображение

На диаграмму добавлен IReferencesCascadeDelete со стереотипом externalinterface , от которого наследуется класс Territory2 и Country2. При удалении экземпляров этого класса будут удаляться также все объекты, которые ссылаются на них. При указанном расположении классов с учётом наследования:
  1. При удалении экземпляра класса Territory2 будут проверяться ссылки среди экземпляров классов Human2 и Place2.
  2. При удалении экземпляра класса Country2 будут проверяться ссылки среди экземпляров классов Human2, Place2, Adress2, Apparatus2 (экземпляры класса Region являются детейлами и будут удаляться даже без использования соответствующего интерфейса).

Откуда ссылаются на эту страницу


Куда ссылается эта страница



На этой странице ещё нет сообщений. Ваше будет первым!
  Имя Размер
- IReferencesCascadeDelete.png 48,43 KB

ScrewTurn Wiki version 3.0.5.600. Some of the icons created by FamFamFam.