const string keyword = "manoj";
rsp.DataSource = company.GetCompanySearch(keyword);
rsp.DataBind();
using (var context = huntableEntities.GetEntitiesWithNoLock())
{
IEnumerable<Company> query = context.Companies.ToList();
if (!string.IsNullOrEmpty(keyword))
{
keyword = keyword.ToLower();
query = query.Where(u=>u.CompanyName.Contains(keyword)
|| u.EmailAdress.Contains(keyword)
||u.MasterCountry.Description.Contains(keyword)
||u.MasterIndustry.Description.Contains(keyword)
||u.CompanyDescription.Contains(keyword)
||u.CompanyHeading.Contains(keyword));
}
return query.ToList();
}
查询未获得结果。该数据库有27条名为manoj的记录。 此
的内部异常为null答案 0 :(得分:0)
如果您将行IEnumerable<Company> query = ...
更改为
var query = context.Companies;
这会将query
变为IQueryable<Company>
,其中的表达式将由行query = query.Where(...
扩展。这将以Contains
表达式转换为SQL(LIKE
)的方式完成。
在当前代码中,您将所有公司提取到内存中,Contains
由linq-to-objects执行。这是区分大小写的,我认为你没有得到任何匹配的原因。 SQL可能不区分大小写。这取决于数据库的整理。