Я использую C# и Nhibernate для поиска в моей базе данных, я должен искать каждый термин, разделенный запятой, например: foo, bar - Мне нужно искать по любому регистру, который содержит fooORбар.Nhibernate Dynamic Search with Comma
Я использую код ниже:
var terms = Term.Split(',');
terms.Each(term =>
{
query = query.Where(x => x.Code.Contains(term) ||
x.Title.Contains(term) ||
x.Subtitle.Contains(term) ||
x.Type.Code.Contains(term) ||
x.Themes.Any(t => t.Title.Contains(term)) ||
x.Indicators.Any(i => i.Title.Contains(term)) ||
x.Indicators.Any(t => t.Type.Title.Contains(term)) ||
x.Indicators.Any(i => i.Sources.Any(s => s.Institution.Name.Contains(term))) ||
x.Indicators.Any(i => i.Sources.Any(s => s.Institution.Acronym.Contains(term))) ||
x.Indicators.Any(i => i.Sources.Any(s => s.Name.Contains(term))) ||
x.Indicators.Any(i => i.Sources.Any(s => s.Acronym.Contains(term))) ||
x.Indicators.Any(i => i.Sources.Any(s => s.Periodicity.Code.Contains(term))) ||
x.Indicators.Any(i => i.Sources.Any(s => s.Periods.Any(p => p.Date.Day.ToString().Contains(term) || p.Date.Month.ToString().Contains(term) || p.Date.Year.ToString().Contains(term)))) ||
x.Indicators.Any(i => i.Sources.Any(s => s.GeographicScope.Description.Contains(term))) ||
x.Indicators.Any(i => i.Sources.Any(s => s.AggregationLevel.Description.Contains(term))) ||
x.Indicators.Any(i => i.Keywords.Any(k => k.Description.Contains(term)))
);
});
return query;
Но это не работает: с
Некоторые sugestions?
Thx.