2
我有一个由NHibernate存储在MySQL数据库中的TimeSpan
字段。流畅的映射如下所示:nhibernate如何将TimeSpan存储在Mysql中?
Map(x => x.StartTime);
Map(x => x.EndTime);
没什么特别的,没有特殊的类型集。
在DB中,13:00和14:00分别在DB中显示468000000000和504000000000。字段类型是BIGINT(int64)
在存储过程中,我需要计算两个时间戳之间的小时差。
的数字似乎代表经过uSeconds的数量...
除非他们不
先取号,例如:4680亿或4.68e + 11
13小时是4.68e + 10微秒...
SO是真的存储经过时间为1/100秒纳秒?
请注意,此行为取决于在映射上指定的“类型”。没有为.Net指定一个'TimeSpan'默认为db类型'Int64'。但是,如果您的数据库支持它,您可以将其更改为“时间”。查看[(不是最新)列表](http://nhibernate.info/doc/nhibernate-reference/mapping.html#mapping-types-basictypes),或者查看[NHibernate代码](https:// github.com/nhibernate/nhibernate-core/blob/master/src/NHibernate/NHibernateUtil.cs)。 –