Дозвуковое игнорирование свойства TimeSpan
По какой-то причине Subsonic свойство TimeSpan в моем классе не сохраняется в базе данных, а просто игнорируется!? Все остальные свойства сохраняются в порядке. Я использую SimpleRepository и RunMigrations, Subsonic v3.0.0.3.
public TimeSpan Time { get; set; }
TimeSpans не поддерживаются?
1 ответ
Решение
TimeSpan не является допустимым типом данных SQL 2005/2008.
Сохраните его как числовой тип данных SQL. Преобразуйте ваш TimeSpan в соответствующую длительность, исходя из требуемой точности:
// Define an interval of 1 day, 15+ hours.
TimeSpan interval = new TimeSpan(1, 15, 42, 45, 750);
Console.WriteLine("Value of TimeSpan: {0}", interval);
Console.WriteLine("{0:N5} minutes, as follows:", interval.TotalMinutes);
Имейте в виду, что есть разница между интервалом. Минуты и интервалы. Всего минут!
http://msdn.microsoft.com/en-us/library/system.timespan.totalminutes.aspx
Таким образом:
// my duration
int duration = Time.TotalMinutes;
// now insert this into the database