Exemplo n.º 1
0
        /// <summary>
        /// 根据主键值将对象从库中移除。
        /// </summary>
        /// <param name="primaryValues">主键的值。数组的长度必须与实体所定义的主键相匹配。</param>
        /// <param name="fake">如果具有 IsDeletedKey 属性,则提供对对象假删除的支持。</param>
        public virtual void Remove(object[] primaryValues, bool fake = true)
        {
            var metadata = EntityMetadataUnity.GetEntityMetadata(GetEntityType());
            var proxy    = new EntityPersisterHelper(Database, GetEntityType(), Environment);

            proxy.Remove(primaryValues, metadata.DeleteProperty, fake);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 将一个新的实体对象创建到库。
        /// </summary>
        /// <param name="entity">要创建的实体对象。</param>
        public virtual void Create(object entity)
        {
            var e        = entity as IEntity;
            var database = Database;

            ValidationUnity.Validate(e);
            var proxy = new EntityPersisterHelper(database, GetEntityType(), Environment);

            proxy.Create(e);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 使用主键值查询返回一个实体。
        /// </summary>
        /// <param name="primaryValues">主键的值。数组的长度必须与实体所定义的主键相匹配。</param>
        /// <returns></returns>
        public virtual object First(params object[] primaryValues)
        {
            var proxy = new EntityPersisterHelper(Database, GetEntityType(), Environment);

            return(proxy.First(primaryValues, o => o.InitializeInstanceName(InstanceName)));
        }
Exemplo n.º 4
0
        /// <summary>
        /// 将一组实体对象的更改保存到库。不会更新实体的其他引用属性。
        /// </summary>
        /// <param name="entities">要保存的实体序列。</param>
        public virtual void Save(IEnumerable <object> entities)
        {
            var proxy = new EntityPersisterHelper(Database, GetEntityType(), Environment);

            proxy.Save(entities);
        }