使用LINQ在where子句中使用LINQ将空整数转换为零(0)

问题描述:

我从这个表中使用LINQ从用户表获取数据我有两个字段AgencyID(int)和MemberID(int)在表中这些字段是空值,当我我通过使用下面的查询调用数据它没有找到任何记录,虽然它存在,原因是这部分(其中(x.AgencyID == null & & x.MemberID == null)必须传递'0'而不是null我怎么转换成零 我曾尝试使用LINQ在where子句中使用LINQ将空整数转换为零(0)

return View(db.vt_Users.Where(x => x.IsDeleted != true && 
            x.AgencyID == null && 
            x.MemberID == null) 
         .ToList()); 
+6

如果值为空,那么'MemberId'和'AgencyId'的类型应该是'int?'而不是'int'。基本上,你的问题目前是令人困惑的...... –

+0

DB中的AgencyID和MemberID字段是否为Nullable意味着允许Null是真或假?另外什么是数据库记录包含0或null。 – dotnetstep

+0

是它的可空。它的数据类型是int – user3475504

这个代码可以解决你的问题:

foreach (var item in userList) 
     { 
      if (item.AgencyID == null) 
       item.AgencyID = 0; 
      if (item.MemberID == null) 
       item.MemberID = 0;     
     } 
+0

感谢亲爱的作品:) – user3475504

+0

我想你想检查null,我检查我的代码。 –

+0

是的,我需要空值数据 – user3475504