mci*_*321 38 .net datetime date
我正在进行一些域建模并遇到一个属性,在我看来这个属性最好暴露为Date而不是DateTime,没有时间组件.
是否有充分理由说明框架中没有这种类型?将日期类型添加到SQL Server被认为是一个很好的想法.另外,如果有人知道Date类的方便实现,请告诉我!
2018编辑:我现在使用值对象类型解决这个问题:
public class Date : ValueOf<DateTime, Date> //Install-Package ValueOf
{
protected override void Validate()
{
if (Value.Date != Value) throw new ArgumentException();
}
}
...
var date = Date.From(someDateTime);
Run Code Online (Sandbox Code Playgroud)
在数据库中,存储容量更重要,因此date
使用比a少的空间的类型datetime
可能有意义.在应用程序中,您很少需要保存这几个字节.
您可以更轻松地创建一个Date
转换为和从中转换的类型DateTime
,但仅在内部存储日期.就像是:
public struct Date {
private int _days;
private Date(int days) { _days = days; }
public implicit operator DateTime(Date date) {
return DateTime.MinValue.AddDays(date._days);
}
public implicit operator Date(DateTime dateTime) {
return new Date((int)(dateTime - DateTime.MinValue).TotalDays);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11178 次 |
最近记录: |