Exemple #1
0
        /// <summary>
        /// 从仓库中删除这个实体。
        ///
        /// 子类重写此方法来实现非关系型数据库的删除逻辑。
        /// </summary>
        /// <param name="entity"></param>
        internal protected virtual void Delete(Entity entity)
        {
            var handler = Deleting;

            if (handler != null)
            {
                var args = new EntityCUDEventArgs(entity);
                handler(this, args);
                if (args.Cancel)
                {
                    return;
                }
            }

            _dataSaver.DeleteFromPersistence(entity);
        }
Exemple #2
0
        /// <summary>
        /// 插入这个实体到仓库中。
        ///
        /// 子类重写此方法来实现非关系型数据库的插入逻辑。
        /// 重写时,注意:
        /// 在插入完成后,把为实体新生成的 Id 赋值到实体中。否则组合子将插入失败。
        /// </summary>
        /// <param name="entity"></param>
        internal protected virtual void Insert(Entity entity)
        {
            var handler = Inserting;

            if (handler != null)
            {
                var args = new EntityCUDEventArgs(entity);
                handler(this, args);
                if (args.Cancel)
                {
                    return;
                }
            }

            _dataSaver.InsertToPersistence(entity);
        }