ef6+mysql的bug

entityFramework6在mysql数据库下,用linq进行排序会出现一个bug.

Expression<Func<blog, bool>> expr_filter=p=>(area==""?true:p.areaName==area);    
IQueryable<blog> viewBlog = blogList_AllList.Where(expr_filter).OrderByDescending(p => p.createDate);

上述代码会报莫名其妙的nullrefrenceException

经试错得出结论,在expression如果想用三目运算符实现动态sql,那就不能用orderBy,这两者只能用一个

补救方案:expression中不用三目运算符,用if...else..条件来进行实现

目前mysql好像也没给出什么解决方案,希望被坑的同学不要死磕了

posted on 2017-07-06 19:55  amigod  阅读(269)  评论(0编辑  收藏  举报

导航