SubSonic ActiveRecord模板:生成的代码产生错误转换int?到int

时间:2010-07-07 20:23:46

标签: c# activerecord subsonic3

我刚开始探索SubSonic 3的ActiveRecord,它的初始代码生成造成了错误。

    Cannot implicitly convert type 'int?' to 'int'. 
    An explicit conversion exists (are you missing a cast?)


这是它抛出异常的行:

    public override int GetHashCode() {
        return this.pkEmp;
    }

由于列pkEmp被定义为int? _pkEmp;,因此该例外是可以理解的。关于为什么两者不同步的任何想法?

2 个答案:

答案 0 :(得分:3)

在定义为主键的列中不能有空值。如果是这样,请确保您在加入时遇到问题(如果实体来自“视图”)。

答案 1 :(得分:1)

John Sheehan指出,重要的是确保任何主键都不可为空(为什么它们会是空的?)。