我正在尝试编写高级搜索的表达式。但是,我需要检查每个属性是否为null
,否则将抛出错误。
以下是未包含空值检查的表达式。
使用jQuery dataTables输出结果。
filteredPeople = unitOfWork.PeopleRepository.Get().Where(c =>
IdSearchable && c.personID.ToString().Contains(param.sSearch.ToLower())
|| surnameSearchable && c.Surname.ToLower().Contains(param.sSearch.ToLower())
|| firstNameSearchable && c.FirstName.ToLower().Contains(param.sSearch.ToLower())
|| genderSearchable && c.Gender.ToLower().Contains(param.sSearch.ToLower())
));
c.Surname
等属性可能会通过SQL由ORM处理,因此实际上不会在C#代码中进行测试。或者这全部都是LINQ-to-Objects吗? - Marc Gravell