Любой умный способ исправить «строковые или двоичные данные будет обрезан» предупреждение с помощью LINQ - PullRequest
10 голосов
/ 20 ноября 2008

Есть ли умный способ определить, какое поле вызывает 'строка или двоичные данные будут обрезаны' с помощью LINQ.

Я всегда заканчивал тем, что делал это вручную, проходя через отладчик, но в пакете, использующем «SubmitChanges», мне пришлось изменить свой код на вставку одной строки, чтобы найти виновника в серии строк.

Я что-то упустил или в наши дни мне действительно нужно использовать метод грубой силы, чтобы найти проблему.

Пожалуйста, не советуйте мне избегать этой ошибки в будущем (если только она не намного умнее, чем «проверка ваших данных»). Исходные данные поступают из другой системы, где у меня все равно нет полного контроля - плюс я хочу быть ленивым.

PS. SQL Server 2008 действительно говорит мне имя поля. Пожалуйста, скажи мне, что это так! Я обновлю!

Ответы [ 4 ]

5 голосов
/ 13 октября 2009

Запустите SQL Profiler. Последний запрос из вашего приложения должен быть тем, который терпит неудачу.

1 голос
/ 06 января 2009

Похоже, что они исправили эту проблему в пакете обновления 1 для .NET 3.5, как указано в этой ссылке: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=353232

Возможно, захотите проверить это сами.

0 голосов
/ 13 июня 2010

Вероятно, было бы полезно повторно опубликовать / отредактировать этот тег как linq .net

DJ - где вы получаете эти данные, которые вы публикуете в качестве предлагаемого решения?

Исключение не содержит этой информации, поэтому ваше сообщение в значительной степени бесполезно - если только вы не можете указать источник.

0 голосов
/ 20 ноября 2008

Предполагается, что вы обрабатываете большой пакет записей, и вы не хотите (не можете) проверять данные заранее, и вы просто хотите, чтобы ограничения db ловили любые ошибки?

Измените вашу программу, чтобы перехватить исключение, и распечатайте информацию о текущей записи в файл журнала или что-то в этом роде.

Record # 9999
Caused "string or binary data would be truncated" error
Field1: "Data" Length: 55
Field2: 9999
etc.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...