2012-11-08 21 views

回答

2

DateTime总会有日期部分。

TimeSpan很可能是您所需要的。它可以保持小时,分钟...没有日期。

编辑:反应不正确的评论

建议映射的时间日期时间简直是不正确的抽象。你的C#属性中包含一个日期01/01/0001这是错误的(不是有意的),并且大多数情况下你都可以在你访问这样一个属性时进行处理。

虽然TimeSpan,可以正确显示我们想要的:从午夜开始的时间。因此,如果我们从DB类型映射时间,这将为我们提供开箱即用功能:可以按时间加载,可以作为时间存储。

+0

除'TimeSpan'代表*持续时间*而不是特定时间。错误的抽象。数据库时间值通常映射到'DateTime',日期设置为0001-01-01。 –

+0

这是不正确的。如果您有SQL Server 2008类型的时间,那么您必须将其映射到TimeStamp。在这种情况下,DateTime将包含默认值,这不是我们想要的。所以作为SQL类型的映射时间 - C#具有TimeStamp –

+0

@NicholasCarey .NET框架团队不同意你的抽象思想。 DateTime包含以下属性(这与您直接相抵触): 'public TimeSpan TimeOfDay {get; }' –

相关问题