• Nullable object must have a value


    有一个linq查询,由inner join改成left join, 对于有空值,就会出现Nullable object must have a value 的错误.

    原来的查询:

     var qry =
                from c in _context.CCC
                join f in _context.FFF .Where(t=>t.IsActive==true)
                on  new { c.ProjectId, cat = c.Category } equals new { f.ProjectId, cat = f.Category }
                where  c.IsActive == true 
                select
                new
                {
                    c.Id,
                    f.category
             }

    left join, select的字段做null判断

     var qry =
                from c in _context.CCC
                join f in _context.FFF .Where(t=>t.IsActive==true)
                on  new { c.ProjectId, cat = c.Category } equals new { f.ProjectId, cat = f.Category }
                into temp
                from tt in temp.DefaultIfEmpty()
                where  c.IsActive == true 
                select
                new
                {
                    c.Id,
                    category=(f==null)?'':f.category
             }
  • 相关阅读:
    构造函数和析构函数
    关联[2]
    关联模型[1]
    auth 权限控制
    多语言设置
    文件上传
    验证码
    图像处理
    Session 与 Cookie
    控制器[3]
  • 原文地址:https://www.cnblogs.com/zitjubiz/p/10768967.html
Copyright © 2020-2023  润新知