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