У меня возникла проблема с хранением объекта DateTime в datatable, он теряет информацию о типе, установленную в нем. Например, если DateTime.Kind является UTC, как только я присваиваю его значению datarow, он меняет вид на Unspecified Пожалуйста, найдите код ниже.Как сохранить DateTime Kind при сохранении объекта datetime в таблице данных?
public class LocalTimeToUtcConverter
{
public DateTime Convert(DateTime localDate)
{
var utcOffset = TimeZoneInfo.Local.GetUtcOffset(localDate);
var utc = localDate.ToUniversalTime();
return utc + utcOffset;
}
}
[Test]
public void Should_set_datetime_column_kind_to_utc()
{
var localDate = new DateTime(2010, 11, 01, 00, 00, 00);
Assert.That(localDate.Kind == DateTimeKind.Unspecified);
var converter = new LocalTimeToUtcConverter();
DateTime date = converter.Convert(localDate);
Assert.That(localDate.Kind == DateTimeKind.Utc);
var data = CreateTable(date);
//Failes-Why????
Assert.That(((DateTime)data.Rows[0].ItemArray[0]).Kind == DateTimeKind.Utc);
}
private DataTable CreateTable(DateTime date)
{
DataTable table = new DataTable();
table.Columns.Add(new DataColumn("Date1", typeof(DateTime)));
for (int i = 0; i < 10; i++)
{
var newRow = table.NewRow();
newRow[0] = date;
table.Rows.Add(newRow);
}
return table;
}
Прошу вас сказать мне обходной путь для этого?
Спасибо !!!