Silverlight中DomainDataSource的一种Debug方法
2012-11-11 23:55
183 查看
当我们在使用Domain Service Class以及Entity Framework工作的时候,可能会出现因为隐藏的内部代码,而不知道错在哪里。
比如,在客户端程序需要向服务器端提交一个数据项,这个数据项包含了一个时间。
当我输入是: 1/1/0001 12:00:00 AM时,始终不对,百思不得其解。还以为是Entity Model的问题,这个问题困扰了我一段时间。
解决办法是:在DomainDataSource中加入一个SumittedChanges的事件。如:
这样可以在Output中看到出现的问题。方便我们定位问题的原因。在Output中显示:
System.ServiceModel.DomainServices.Client.DomainOperationException: Submit operation failed. An error occurred while updating the entries. See the inner exception for details. InnerException 消息: SqlDateTime overflow. Must
be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
这样我们知道了问题的原因在于输入的时间字符串范围不对。按照Output中指示的进行修改后,即完成。这也就表明我们需要加入输入验证
比如,在客户端程序需要向服务器端提交一个数据项,这个数据项包含了一个时间。
当我输入是: 1/1/0001 12:00:00 AM时,始终不对,百思不得其解。还以为是Entity Model的问题,这个问题困扰了我一段时间。
解决办法是:在DomainDataSource中加入一个SumittedChanges的事件。如:
private void LibraryDataSource_OnSubmittedChanges(object sender, SubmittedChangesEventArgs e) { if (e.HasError) { System.Diagnostics.Debug.WriteLine(e.Error.ToString()); e.MarkErrorAsHandled(); } }
这样可以在Output中看到出现的问题。方便我们定位问题的原因。在Output中显示:
System.ServiceModel.DomainServices.Client.DomainOperationException: Submit operation failed. An error occurred while updating the entries. See the inner exception for details. InnerException 消息: SqlDateTime overflow. Must
be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
这样我们知道了问题的原因在于输入的时间字符串范围不对。按照Output中指示的进行修改后,即完成。这也就表明我们需要加入输入验证
相关文章推荐
- Silverlight中DomainDataSource的一种Debug方法
- Silverlight DomainDataSource 查询方法动态指定
- Silverlight DomainDataSource 查询方法动态指定
- 一种实际的MDA方法--Lightweight Domain Specific Modeling
- 获得domain中fix value 对应text的另外一种方法
- silverlight 国际化的一种实现方法
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 一种实际的MDA方法--Lightweight Domain Specific Modeling
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- Silverlight仿Flash换肤一种简单实现方法
- 一种实际的MDA方法--Lightweight Domain Specific Modeling
- DEBUG的另外一种方法
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- ARM:Release版本和Debug版本运行不一致的一种可能原因以及解决方法
- 一种实际的MDA方法--Lightweight Domain Specific Modeling
- 一种实际的MDA方法--Lightweight Domain Specific Modeling
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 一种实际的MDA方法--Lightweight Domain Specific Modeling
- codeforces上一种应对大测试数据debug方法
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作