In my project i have a textbox which is used for search now suppose if someone is searching hot pizza then i have to show them all result containing whether hot or pizza but i have to order them so than result containing how pizza comes first then shows result of hot and then pizza Currently I am Using this
List<Project> allSearchedProject = new List<Project>();
List<string> queryList = query.ToLower().Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries).Where(q => q.Length > 3).ToList();
foreach (var q in queryList)
{
var matchedProjects = (from project in unitOfWork.ProjectRepository
.Find(p => p.IsActive && p is Project && new[] { p.Name, p.ProjectAddress.City.Name, p.ProjectAddress.Address1 }
.Any(prjt=>prjt.Contains(q)))
select project as Project).AsParallel().ToList();
allSearchedProject.AddRange(matchedProjects);
}
return allSearchedProject;
but problem is this it hits database for every word, how to do get similar result in one hit can anyone tell me how to search and sort in single hit
-Thanks