protected DataDeletingEventArgs OnDeleting(ICondition condition, string[] cascades)
        {
            var args = new DataDeletingEventArgs(this.Name, condition, cascades);

            this.OnDeleting(args);
            return(args);
        }
        protected virtual void OnDeleting(DataDeletingEventArgs args)
        {
            var e = this.Deleting;

            if (e != null)
            {
                e(this, args);
            }
        }
        protected virtual bool OnDeleting(DataDeletionContext context)
        {
            var e = this.Deleting;

            if (e == null)
            {
                return(false);
            }

            var args = new DataDeletingEventArgs(context);

            e(this, args);
            return(args.Cancel);
        }