У меня есть строка, которая может быть пустой, если ее не пусто, она содержит XML-документ. Проблема заключается в том, что в этом столбце набора данных DataType System.String допустимы значения NULL.Столбец DataSet может быть NULL, но не преобразован в строку?
Сообщение об ошибке: this.MetaData»сгенерировала исключение типа '' System.Data.StrongTypingException
основания {System.SystemException} = {" Значение для столбца 'MyData' в таблице 'GMyTAbleName' является DBNull . "}
UPDATE
вот скриншот причины:
http://666kb.com/i/bld3eelnaicsgb9tv.png
вы видите, как он пытается преобразовать NULL в строку, которая должна быть возвращена.
Этот код из файла DataSet.Designer.cs, как я могу изменить это поведение? : S
даже если бы я проверить, что есть alreay такой тест в наборе данных, но когда его Null и его позволено быть пустым, проблема в том, что набор данных не может преобразовать нуль в пустую строку, вот что ошибка сказала. – msfanboy
@msfanboy: Я принимаю ваше решение. Идея состоит в том, что вы защищаете себя от доступа к строго типизированному столбцу, пока не убедитесь, что он не является нулевым, потому что вы знаете, что получите исключение StrongTypingException, если вы когда-либо обращаетесь к получателю при его нулевом значении. Это утомительно, я знаю; избегая DBNull является частью того, почему я принял LINQ так штопать быстро. – kbrimington
thx для ваших приветствий. Мне нравится Linq тоже, но не могу использовать его здесь:/ Я обновил первое сообщение с скриншотом этой проблемы! – msfanboy