使用LINQ修复'字符串或二进制数据的任何聪明方法都会被截断'警告

Sim*_*ver 10 .net sql-server linq-to-sql

是否有一种聪明的方法来确定哪个字段导致'字符串或二进制数据将被LINQ截断'.

我总是通过逐步调试来手动完成它,但是使用'SubmitChanges'的批处理我必须更改我的代码以插入一行来查找一批行中的罪魁祸首.

我是否遗漏了某些东西,或者在这个时代我是否真的必须使用蛮力方法来找到问题.

请不要给我建议在将来避免这个错误(除非它比'验证你的数据'更聪明).源数据来自一个不同的系统,我无论如何都没有完全控制 - 加上我想要懒惰.

PS.SQL Server 2008实际上是否告诉我字段名称.请告诉我它!我会升级的!

Kip*_*Kip 5

启动SQL事件探查器.应用程序中的最后一个查询应该是失败的查询.


DJ.*_*DJ. -2

假设您正在处理大量记录,并且您不想(不能)事先验证数据,而您只希望数据库约束捕获任何错误?

更改您的程序以捕获异常并将当前记录详细信息打印到日志文件或其他文件中。

Record # 9999
Caused "string or binary data would be truncated" error
Field1: "Data" Length: 55
Field2: 9999
etc.
Run Code Online (Sandbox Code Playgroud)