使用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());
答
这个代码可以解决你的问题:
foreach (var item in userList)
{
if (item.AgencyID == null)
item.AgencyID = 0;
if (item.MemberID == null)
item.MemberID = 0;
}
如果值为空,那么'MemberId'和'AgencyId'的类型应该是'int?'而不是'int'。基本上,你的问题目前是令人困惑的...... –
DB中的AgencyID和MemberID字段是否为Nullable意味着允许Null是真或假?另外什么是数据库记录包含0或null。 – dotnetstep
是它的可空。它的数据类型是int – user3475504