我对以下方法有疑问:
public IQueryable<Customer> ListCustomers(int? parentId)
{
Debug.Assert(parentId == null);
//var list = _customerRepository.List().Where(c => c.ParentId == null);
var list = _customerRepository.List().Where(c => c.ParentId == parentId);
return list;
}
我的数据库中有一个客户,其 ParentId 为 null。当我用 , 调用方法时ListCustomers(null)
,list
return 语句为空。如果我交换注释掉的行并使用硬编码的空值进行查询,则列表包含我的一个客户。
什么可能导致这两个查询之间存在这种差异?为什么c.ParentId == parentId
不返回任何东西的那个?