Subsonic忽略TimeSpan属性

时间:2010-06-10 15:33:33

标签: subsonic subsonic3 subsonic-simplerepository

由于某些原因,我的类上的TimeSpan属性没有被Subsonic持久存储到数据库中,它只是被忽略了!?正在保存所有其他属性。我正在使用SimpleRepository和RunMigrations,Subsonic v3.0.0.3。

public TimeSpan Time { get; set; }

不支持TimeSpans吗?

1 个答案:

答案 0 :(得分:3)

TimeSpan不是有效的2005/2008 SQL数据类型。

将其存储为基于数字的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);

请注意interval.Minutes和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