我在使用ASP.NET 样板视(非核心)的模板在我的项目,该项目使用EF6为奥姆. 数据库是SQL Server表达。
这里是我的实体对象(忽略的非相关性):
public class Asset : AggregateRoot<long>
{
[DataType(DataType.DateTime)]
public DateTime? LastControlTime { get; set; }
}
当我创建一个新的资产,这一领域适当地创造了作为空。 所以,一切都作为intented在第一次。 但是当我尝试更新对象的一个简单的服务电话,螺丝起来。
这里的方法中的应用程序的服务类别:
public void ResetLastControlTime (EntityDto<long> input)
{
var asset = Repository.Get(input.Id);
asset.LastControlTime = default(DateTime?);
}
这应该重置这一领域为空。 我也试过 asset.LastControlTime = null;
. 但是,在结束它写"0001-01-01 00:00:00.0000000"这一领域的数据库。 我有很多地方代码,我控制空值,所以现在我不得不改变吨的旧文件或者我必须找到某种方式重设这一领域的简单的空。
我检查了类似的问题在这里,但无法找到一个答案。 所有的他们告诉关于可空的日期时间,我已经有了。 在SQL表服务器架构、数据类型 datetime2(7)
所以我想这是正确的。 哦,和删除的数据类型的注释也没有改变任何东西。
所以我是什么丢在这里? 我应该怎么查到找到问题?