我们有一个 Entity Framework 5.0 项目,其中使用 SQL Server 2008 进行代码优先迁移,但所有日期属性都是在数据库中创建为 datetime
列,而不是 datetime2
。
是否可以使用 add-migration 创建迁移来更新数据库中的所有 datetime
列?有没有其他简单的方法可以在任何地方切换到 datetime2
?
最佳答案
这是一篇旧文章,但如果您想将所有日期时间列切换为 datetime2,并对您添加的任何新列使用 datetime2(换句话说,让 EF 默认使用 datetime2),您可以将其添加到您的上下文中的 OnModelCreating 方法:
modelBuilder.Properties<DateTime>().Configure(c => c.HasColumnType("datetime2"));
那会得到所有的DateTime和DateTime吗?模型中所有实体的属性。
关于.net - 如何在Entity Framework/SQL Server 2008项目中切换到datetime2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15687408/