我在Web应用程序中进行了通配符搜索,它在帮助用户搜索客户端方面非常有用。 我目前在Id列上只有索引。
我似乎越来越多地陷入僵局,这可能是由于没有正确的索引?
我有3个需要拉回数据的表(和2个已搜索的表)
public IEnumerable<Client> FindAllByWildCard(string accountId, string name)
{
return RepositorySet
.Include("Address")
.Include("Invoice")
.Where(p => (p.FirstName.ToLower().Contains(name.ToLower()) ||
p.LastName.ToLower().Contains(name.ToLower()) ||
p.Address.Line1.Contains(name) ||
p.Address.ZipCode.Contains(name) ||
p.Telephone.Contains(name))
&& p.AccountId == accountId && !p.IsDeleted);
}
我应该创建索引吗?