我不确定这个错误是如何发生的——因为当我保存不包含任何要保存的日期或时间信息的信息时,它会出现在页面中。我不是造成这种情况的原因。该页面仅显示没有日期或时间的选择下拉框。对此问题的任何见解将不胜感激。
这是总体错误消息:
System.Data.SqlClient.SqlException (0x80131904):将表达式转换为数据类型 datetime 时出现算术溢出错误。该语句已终止。在 Kids.Domain.Entities.KidsDataContext.HandleSqlException(SqlException sqlException) 在 C:\code\kids\Kids.Domain\Entities\KidsDataContextPartial.cs:第 86 行在 Kids.Domain.Entities.KidsDataContext.SubmitChanges(ConflictMode failureMode) 在 C :\code\kids\Kids.Domain\Entities\KidsDataContextPartial.cs:第 78 行 Kids.Domain.Repository.Concrete.CasePartyRepository.Save(CaseParty caseParty) 在 C:\code\kids\Kids.Domain\Repository\Concrete\ CasePartyRepository.cs:C:\code\kids\Kids.MVC\Controllers\PartyRelationshipController.cs 中 Kids.MVC.Controllers.PartyRelationshipController.SelectPartyType(PartyTypeRelationshipFormViewModel viewModel, Guid[] selectedParties) 的第 67 行:DisplayClass44.b _43() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c_ DisplayClass39.<>c _DisplayClass3b.b_ 35() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c _DisplayClass51.b_ 4b( ) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c _DisplayClass51.b_ 4b() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c _DisplayClass51.b_ 4b() 在 System.Web.Mvc.Async。 AsyncControllerActionInvoker.<>c _DisplayClass39.b_38 (IAsyncResult asyncResult) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c _DisplayClass27.<> c_DisplayClass2c.b _22() 在 System.Web.Mvc.Async。AsyncControllerActionInvoker.<>c_DisplayClass27.b _24(IAsyncResult asyncResult)
KidsDataContextPartial 代码:
private void HandleSqlException(SqlException sqlException)
{
if (sqlException.Message.StartsWith("The DELETE statement conflicted"))
{
throw new DeleteReferencedException("Can not delete referenced items", sqlException);
}
if (sqlException.Number == 2601 || sqlException.Number == 2627 )
{
throw new DuplicateItemException("Item already exists.", sqlException);
}
throw sqlException;
}
第 86 行:
throw new DeleteReferencedException("Can not delete referenced items", sqlException);