.net 实体框架迁移到datetime2
我们首先使用实体框架6代码。我们最近决定将数据库中的datetime格式移到datetime2格式。我们的数据库目前包含大量数据和大约262个表 通过谷歌搜索,我找到了如何迁移到datetime2的描述:.net 实体框架迁移到datetime2,.net,entity-framework,entity-framework-6,sql-server-2014,datetime2,.net,Entity Framework,Entity Framework 6,Sql Server 2014,Datetime2,我们首先使用实体框架6代码。我们最近决定将数据库中的datetime格式移到datetime2格式。我们的数据库目前包含大量数据和大约262个表 通过谷歌搜索,我找到了如何迁移到datetime2的描述: modelBuilder.Properties<DateTime>() .Configure(c => c.HasColumnType("datetime2")); modelBuilder.Properties() .Configure(c=>c.Ha
modelBuilder.Properties<DateTime>()
.Configure(c => c.HasColumnType("datetime2"));
modelBuilder.Properties()
.Configure(c=>c.HasColumnType(“datetime2”);
因此,我将这部分代码放在OnModelCreating
方法中。然后我运行Add Migration command,它创建了一个Up方法,其中包含大量的DropPrimaryKey
、AlterColumn
和AddPrimaryKey
行,如本例所示:
然后我运行了更新数据库,并收到以下错误消息:
对象“DF__AdminMessa__Date__353DDB1D”依赖于列“Date”
由于一个或多个对象,ALTER TABLE ALTER COLUMN Date失败
访问此列
我猜这个错误是由于表上的约束造成的。
我知道我可以暂时重新运行这个脚本,但是我们必须在262个表上手动运行这个脚本,禁用约束。除此之外,我不知道在第一次使用代码时这样运行纯脚本是否合适
有没有合适的方法首先将现有数据库(含数据)迁移到EF代码中的datetime2