entity framework 属性 不能设置为字符串,必须是可为空的 int

entity framework property can't be set to string, has to be nullable int

The 'EmpGipNumber' property on 'Employee' could not be set to a 'System.String' value. You must set this property to a non-null value of type 'System.Int32'.

我收到此错误,我的员工模型的 EmpGipNumber 属性 声明如下:

public virtual int? EmpGipNumber {get;set;}

为什么它在抱怨,它已经是一个可为 null 的 int。自从启用迁移以来,我 运行 遇到了很多问题。

初始迁移是空的,因为我在现有数据库上启用了迁移。第二次迁移是这样的:

public override void Up()
        {
            AlterColumn("dbo.Employee", "EmpGipNumber", c => c.Int());
        }

昨天一切正常。我去睡觉肯定惹怒了它

没有看到更多代码,我想知道这是否是数据问题。根据我的经验,它会将任何可以解析的字符串转换为整数...您是否验证过您正在转换的数据可以解析为整数?