今天遇到一个问题,怎么在where里判断一个字段是否为null,并且这个字段不是字符串string类型,而是int和GUID类型,折腾了半天终于搞明白了。(由于项目是我半路接手的,问题是前期的同事给我挖了一个坑,我今天就是填坑的)

1.在说这个问题之前,我先说一下数据库的表与C#之间model的对应:

一般数据库中的表我们都可以使用代码生成器(东软代码生成器)生成,其中字段的可空不可空也会给我们生成,如:表

Linq里where出现null的问题

用代码生成器生成的model是:

/// <summary>
    /// SettingConfiguration:实体类(属性说明自动提取数据库字段的描述信息)
    /// </summary>
    [Serializable]
    public partial class SettingConfiguration
    {
        public SettingConfiguration()
        {}
        #region Model
        private int _id;
        private string _name;
        private string _value;
        private int? _parentid;
        /// <summary>
        /// 
        /// </summary>
        public int Id
        {
            set{ _id=value;}
            get{return _id;}
        }
        /// <summary>
        /// 
        /// </summary>
        public string Name
        {
            set{ _name=value;}
            get{return _name;}
        }
        /// <summary>
        /// 
        /// </summary>
        public string Value
        {
            set{ _value=value;}
            get{return _value;}
        }
        /// <summary>
        /// 
        /// </summary>
        public int? ParentId
        {
            set{ _parentid=value;}
            get{return _parentid;}
        }
        #endregion Model

    }
View Code

相关文章: