0

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

public TimeSpan Time { get; set; }

不支持 TimeSpan 吗?

4

1 回答 1

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
于 2010-06-11T09:33:46.550 回答