根据主键查询时出错 返回

求助
3 128

在使用 SimpleClient的GetById来查询实体时,如果Id的值为空或Null,会报错。GetById的参数是dynamic类型,会不会是这个因素引起的。

热忱回答3

  • 上代码

    0 回复
  • //mvcController


    public ActionResult Create(string id)

            {

                var model = _app.Get(id) ?? new Resource();

                return View(model);

            }


    //_app

     public virtual T Get(string id)

            {

                return Repository.Get(id);

            }

    //Repository


     public Repository()

            {

                this.DB = new DataHelper().Instance;//初始化SqlSugarClient对象

                this.DbSet = this.DB.Queryable<TEntity>();

                this.client = new SimpleClient<TEntity>(this.DB);

            }

    public ISugarQueryable<TEntity> DbSet { get; set; }

    public SimpleClient<TEntity> client { get; set; }


    //查询并返回实例

     public virtual TEntity Get(dynamic keyValue)

            {

                return this.client.GetById(keyValue);  

    //当ID为null时,提示错误:NullReferenceException: Object reference not set to an instance of an object.         

            }


    0 回复
  • public virtual TEntity Get(Expression<Func<TEntity, bool>> predicate)

            {

                return this.DbSet.Single(predicate);

            }

    如果用这个命令查询,不管KeyValue的值是否为空,都不会出错。

    0 回复

版块

学习文档

最新会员

发布达人

回贴达人