Как вы обрабатываете тип, допускающий значение NULL, с помощью SqlDataRecord

Я анализирую XML (LINQ to XML) и использую тип, допускающий значение NULL ( int? и ] decimal? ) в случаях, когда элемент / атрибут пуст. Однако при создании моей коллекции для передачи в БД (с использованием TVP) я не знаю, как обрабатывать случаи, когда значение фактически равно нулю. Я не могу передать значение NULL в SqlDataRecord SetInt32 или SetDecimal, и я не хочу устанавливать его в ноль ... Я действительно хочу, чтобы он был равен нулю.

Сообщаете, что нет перегрузки для int ?

Count ниже является типом, допускающим значение NULL ( int? Count)

SqlDataRecord rec = new SqlDataRecord(
              new SqlMetaData("Name", SqlDbType.VarChar, 50),
              new SqlMetaData("Type", SqlDbType.VarChar, 50),
              new SqlMetaData("Count", SqlDbType.Int));

   rec.SetString(0, dm.Name);
   rec.SetString(1, dm.Type);
   rec.SetString(2, dm.Count);

Есть идеи, как справиться с этим, не передавая ноль (поддерживая нуль)?

10
задан Nasreddine 6 December 2011 в 19:36
поделиться