出于某种原因,我的班级上的 TimeSpan 属性没有被 Subsonic 持久化到数据库中,它只是被忽略了!?所有其他属性都保存正常。我正在使用 SimpleRepository 和 RunMigrations,Subsonic v3.0.0.3。
public TimeSpan Time { get; set; }
不支持 TimeSpan 吗?
出于某种原因,我的班级上的 TimeSpan 属性没有被 Subsonic 持久化到数据库中,它只是被忽略了!?所有其他属性都保存正常。我正在使用 SimpleRepository 和 RunMigrations,Subsonic v3.0.0.3。
public TimeSpan Time { get; set; }
不支持 TimeSpan 吗?
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