/// <summary> /// Возвращает функциональное тело триггера для таблицы основных данных. /// </summary> /// <param name="triggerSchema">Схема триггера.</param> /// <returns></returns> internal override string GetTriggerBody(DBTriggerSchema triggerSchema) { if (triggerSchema == null) { throw new ArgumentNullException("triggerSchema"); } //возвращаем тело триггера для основной таблицы. return(triggerSchema.GetBody(this)); }
/// <summary> /// Создает экземпляр DBTrigger. /// </summary> /// <param name="schema">Схема триггера.</param> /// <param name="table">Таблица.</param> internal DBTrigger(DBTriggerSchema schema, DBTable table) { if (schema == null) { throw new ArgumentNullException("schema"); } if (table == null) { throw new ArgumentNullException("table"); } this.Schema = schema; this.Table = table; }
protected internal override ICollection <DBTriggerSchema> InitTriggers() { List <DBTriggerSchema> triggers = new List <DBTriggerSchema>(); //добавляем кастомные триггеры, если они присутствуют в схеме. foreach (ConstructorInfo triggerConstructor in this.ObjectSchemaAdapter.ClassDefinition.TriggerTypeConstructors) { DBTriggerSchema triggerSchema = (DBTriggerSchema)triggerConstructor.Invoke(new object[] { this.ObjectSchemaAdapter }); if (triggerSchema == null) { throw new Exception(string.Format("Не удалось создать экземпляр схемы триггера типа {0}.", triggerConstructor.DeclaringType.FullName)); } triggers.Add(triggerSchema); } return(triggers); }