实体框架改变列类型

时间:2012-06-17 22:01:15

标签: c# entity-framework orm migration entity

我使用此属性在数据库中创建了一个列:

public int EnteredDateTime { get; set; }

但是,当我更新属性时,列正确创建:

public DateTime EnteredDateTime { get; set; }

我收到以下错误:

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

我做错了什么?

2 个答案:

答案 0 :(得分:0)

如果您忘记设置属性,就会发生这种情况。

DateTime的默认值为1/1/0001,超出了SQL Server日期的范围。

答案 1 :(得分:0)

我想您已经使用CodeFirst生成数据库。您目前无法更改代码并自动更改数据库(这可以通过迁移在EF 5中实现)。您必须手动更改数据库并将列的类型设置为DateTime。或者您从头开始删除并重新创建数据库(如果您不需要已存储在其中的数据)。