我正在使用ASP.Net 4 EF 4.3.1 Code First Migrations。EF迁移:无法添加DateTime列
我有一个现有的模型类。我添加了一个属性,它:
public DateTime LastUpdated { get; set; }
当我运行更新数据库-force -verbose我得到:
ALTER TABLE [MyTable的] ADD [LASTUPDATED] [日期时间] NOT NULL DEFAULT '0001-01-01T00:00:00.000'
System.Data.SqlClient.SqlException (0x80131904):将varchar数据类型转换为日期时间数据 类型导致超出范围值。
该声明已终止。
我想猜测这与在生成的SQL中使用的隐含缺省值有关 - 它似乎在抱怨用于初始化事物的varchar是数据丢失。
这不是我的默认设置--EF Code First Migrations会自动为任何新的非空DateTime属性/列生成此SQL。 –
SQL DateTime数据类型的最小值为1月1753年。.NET日期时间的最小值为1 1 0001。不幸的是,冲突很常见。 –