C# 检查Linq查询中的对象是否为Null
如何使用LINQ查询检查对象是否为空 如果对象为空,我希望在搜索中忽略它 我不想在查询之前执行If-Else语句和重复代码并检查对象是否为Null。此时,如果对象不是空的,我的查询将返回一个错误“Nullable对象必须有一个值”C# 检查Linq查询中的对象是否为Null,c#,.net,linq,C#,.net,Linq,如何使用LINQ查询检查对象是否为空 如果对象为空,我希望在搜索中忽略它 我不想在查询之前执行If-Else语句和重复代码并检查对象是否为Null。此时,如果对象不是空的,我的查询将返回一个错误“Nullable对象必须有一个值” public ActionResult搜索(List accountStatus=null,string accountName=”,int pageId=1) { var model=Db.Entities .Where(i=>i.GroupId==null&&i.
public ActionResult搜索(List accountStatus=null,string accountName=”,int pageId=1)
{
var model=Db.Entities
.Where(i=>i.GroupId==null&&i.IsActive)
.Where(an=>string.IsNullOrEmpty(accountName)| |(an.Name.StartsWith(accountName)| | an.Name.Contains(accountName)))
托利斯先生()
.Where(accs=>accountStatus==null | | accountStatus.Contains((int)accs.CurrentStatusId.Value))
.OrderByDescending(x=>x.CreatedDate);
if(Request.IsAjaxRequest())
{
返回PartialView(“*******”,model.ToPagedList(pageId,nbItemsPerPage));
}
返回视图(模型);
}
如果要在帐户状态
为空时让所有帐户
通过,请执行以下操作:
.Where( accs => accs != null
&& ( accountStatus == null
|| accountStatus.Contains(accs.CurrentStatusId.GetValueOrDefault(-1))
)
)
哪一行返回错误?您可能确实想知道哪个属性是null
。另外,为什么在代码的中间有一个<代码> Toistist<代码>?(ACC==ActualSt==NULL),AcActudio包含((int)ACC.CurrrnStutsiD.Value)什么属性是NULL?为什么要检查<代码> ActualStase为无效(<代码>=null < /代码>)?你不想确认它不是空的吗?
.Where( accs => accs != null
&& ( accountStatus == null
|| accountStatus.Contains(accs.CurrentStatusId.GetValueOrDefault(-1))
)
)