Я создал строго типизированный набор данных (MyDataSet) в моем приложении .NET. Для простоты мы скажем, что у него есть одна таблица данных (MyDataTable) с одним столбцом (MyCol). MyCol имеет свойство DataType, равное «System.Int32», а его свойство AllowDBNull - «true».
Я хочу вручную создать новую строку и добавить ее в этот набор данных. Я создаю строку без проблем, примерно так:
MyDataSet.MyDataTableRow myRow = MySimpleDataSet.MyDataTable.NewItemRow();
Отлично. Однако, когда я пытаюсь установить значение DBNull:
myRow.MyCol = DBNull.Value;
Мне сказали, что я не могу этого сделать ... что он не может преобразовать это в int. В каком-то смысле это имеет смысл, поскольку я определил его как int ... но как тогда мне получить там DBNull? Разве я не должен иметь там DBNull? Разве не для этого предназначено свойство AllowDBNull?
Я явно упускаю что-то фундаментальное. Может кто-нибудь помочь объяснить, что это такое?
РЕДАКТИРОВАТЬ: Я также пробовал ввести "int?" как DataType, но Visual Studio выдает ошибку, когда я ввожу его, говоря, что «Столбец требует действительного DataType».