/// <summary> /// 根据实体的状态,插入或更新实体对象。 /// </summary> /// <param name="entity">要保存的实体对象。</param> /// <returns>影响的实体数。</returns> public int InsertOrUpdate(TEntity entity) { Guard.ArgumentNull(entity, nameof(entity)); if (entity.EntityState == EntityState.Attached) { return(EntityPersistentSubscribePublisher.OnCreate(entity, () => repositoryProxy.Insert(entity))); } else { return(EntityPersistentSubscribePublisher.OnUpdate(entity, () => repositoryProxy.Update(entity))); } }
/// <summary> /// 将一个新的实体对象创建到库。 /// </summary> /// <param name="entity">要创建的实体对象。</param> /// <returns>影响的实体数。</returns> public int Insert(TEntity entity) { Guard.ArgumentNull(entity, nameof(entity)); if (context.Options.ValidateEntity) { ValidationUnity.Validate(entity); } int func() => repositoryProxy.Insert(entity); return(context.Options.NotifyEvents ? EntityPersistentSubscribePublisher.OnCreate(entity, func) : func()); }
/// <summary> /// 将一个新的实体对象创建到库。 /// </summary> /// <param name="entity">要创建的实体对象。</param> /// <returns>影响的实体数。</returns> public int Insert(TEntity entity) { Guard.ArgumentNull(entity, nameof(entity)); return(EntityPersistentSubscribePublisher.OnCreate(entity, () => repositoryProxy.Insert(entity))); }