/// <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); }
/// <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); }
/// <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))); }
/// <summary> /// 将一组实体对象的更改保存到库。不会更新实体的其他引用属性。 /// </summary> /// <param name="entities">要保存的实体序列。</param> public virtual void Save(IEnumerable <object> entities) { var proxy = new EntityPersisterHelper(Database, GetEntityType(), Environment); proxy.Save(entities); }