我在 asp.net mvc 3 模型中使用 EFCode First。(Entity Framework 4.0 和 EFCode First 0.8)模型定义如下:
public class User
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public int WorkedYears { get; set; }
}
使用时db.Users.Find(1)
,会抛出这个错误:
'User' 上的 'WorkedYears' 属性无法设置为 'null' 值。您必须将此属性设置为“Int32”类型的非空值。
注意:数据库中存在user.Id=1,记录的WorkedYears为NULL。如果我在数据库中设置了 WorkedYears = 0,错误就会消失,而且如果我定义如下属性:public int? WorkedYears{get; set;}
,错误也会消失。但我不想使用 int?,并且如果未设置,也希望该列保持 NULL。那么有没有其他解决方案来解决它?
非常感谢。