/// <summary> ///提交当前单元操作的结果 /// </summary> /// <returns></returns> public int Commit() { if (IsCommitted) { return(0); } try { int result = Context.SaveChanges(); IsCommitted = true; Context.Database.Log = (sql) => { if (string.IsNullOrEmpty(sql) == false) { Console.WriteLine("************sql执行*************"); Console.WriteLine(sql); Console.WriteLine("************sql结束************"); } }; return(result); } catch (DbUpdateException e) { if (e.InnerException != null && e.InnerException.InnerException is SqlException) { SqlException sqlEx = e.InnerException.InnerException as SqlException; string msg = DBErrorType.GetSqlExceptionMessage(sqlEx.Number); } throw; } }
public DatabaseException(String message, SqlException innerException) : base(message, innerException) { switch(innerException.Number) { case 2627: if (innerException.Message.IndexOf("PK_tblMemberProfile") > -1) { ErrorType = DBErrorType.DuplicateEmail; } else if (innerException.Message.IndexOf("IX_tblMemberProfile_strScreenName") > -1) { ErrorType = DBErrorType.DuplicateRegistration; } break; default: break; } }