Если вы работаете с DataSets, используйте методы расширения FieldField DataRow . Это позволяет вам использовать типы Nullable, не беспокоясь о DBNull.
Например, предположим, что поле "MyDateField" (типа DateTime) имеет значение NULL. Тогда вы можете сделать что-то вроде этого:
foreach (var row in myDataTable)
{
// will return null if the field is DbNull
var currentValue = row.Field<DateTime?>("MyDateField");
// will set the value to DbNull.Value
row.SetField<DateTime?>("MyDateField", null);
}