具有 NULL 引用的 C# 搜索查询
本文关键字:搜索 查询 NULL 引用 具有 | 更新日期: 2023-09-27 18:34:33
这是类似于我的搜索查询的示例,我有搜索过滤器,它应该搜索,比如说外表中的客户。
var query = (from O in dm.Order
where O.Customer.Name.ToLower().Contains(filter) ||
O.Customer.Surname.ToLower().Contains(filter)
select new
{ ... }).ToList();
如果我在订单表中的customer_ID为 NULL,则不会显示这些订单。我需要编写一个查询,无论我是否有 NULL customer_ID都应列出每条记录。假设过滤器是空字符串,它需要显示每条记录。
我尝试了类似的东西:
where O.customer_ID.HasValue ? O.Customer.Name.ToLower().Contains(filter) : (not know what to write here?)
我希望你能假设到底是怎么回事!
提前感谢,约瑟普
(O.Customer.Name.ToLower() ?? "").Contains(filter)
这应该有效。但我不会那样做。仅在需要过滤时才进行过滤。
var query = dm.Order;
if(!string.IsNullOrEmpty(filter)){
query = query.Where(o => o.Customer.Name.ToLower().Contains(filter)
||o.Customer.Surname.ToLower().Contains(filter));
}
var result = query.Select(o => new {...}).ToList();