public override void Delete(T entity) { if (entity is ISoftDelete) { ((ISoftDelete)entity).IsDeleted = true; Save(entity); } else { _transaction = _transaction.Delete(entity); this.Context.Execute(_transaction.SQL); } }
public override T Save(T entity) { entity.ExecuteBeforeSave(); if (entity.GetId() == 0) { _transaction = _transaction.Insert(entity); entity.SetId( this.Context.Query <long>(_transaction.SQL).FirstOrDefault()); } else { _transaction = _transaction.Update(entity); this.Context.Execute(_transaction.SQL); } entity.ExecuteAfterSave(); return(entity); }