protected virtual T ExecuteTransactional <T>(Func <T> codetoExecute) { try { using (TransactionScope scope = new TransactionScope()) { var r = codetoExecute.Invoke(); scope.Complete();//Ew3a Tensa return(r); } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { _tracer.LogError($"Property: {validationError.PropertyName} Error: {validationError.ErrorMessage}", dbEx); } } throw dbEx; } catch (Exception ex) { this._tracer.LogError(ex.Message, ex); throw ex; } }
public virtual void Remove(TEntity item) { _tracer.LogInfo("Remove called"); if (item == (TEntity)null) { var err = new ArgumentNullException("item", "Argument is null"); _tracer.LogError(err.GetType().ToString(), err); } IDbSet <TEntity> objectSet = CreateSet(); objectSet.Attach(item); objectSet.Remove(item); UnitOfWork.Commit(); }