实体框架错误...属性无法设置为“ System.Int16”值

时间:2019-04-03 08:33:12

标签: c# entity-framework-6

我有这个课程:

public class PayTerm
{
    public int PayTermExternalKey { get; set; }
    public int Code { get; set; }
    public string Name { get; set; }
}

在数据库中,PayTermExternalKeysmallint,因为它与另一个系统表的密钥smallint有关,在我的程序中,我有一个网格,用于保存该实例的实例。 PayTerm类……除非正确,否则,但是当我去恢复PayTerm列表时,我在EntiyFramework中出错

  

“ PayTerm”上的“ PayTermExternalKey”属性无法设置为   'System.Int16'值。您必须将此属性设置为非空值   类型为“ System.Int32”。

我在使用该属性的所有类中进行了查找,结果发现它总是int ...

更新 我创建的表很糟糕,现在PayTermExternalKey是正确的类型,现在不再发生错误。

1 个答案:

答案 0 :(得分:0)

我不太了解,但我认为您应该将PayTerm类中PayTermExternalKey的类型从int更改为short。因为System.Int16是短型。