У меня есть объект, у которого есть свойство YearsAvailible, это список финансовых лет, разделенных запятыми, например, 05,09,10
У меня есть API, который передает string[]
названий годов, и мне нужно найти все объекты, чей финансовый год находится в переданном массиве.
Лучшее, что я могу придумать, это:
var hash = new Hashtable();
foreach(var year in financialYears)
{
var categories = from expCat in All()
where expCat.YearsAvailable.Contains(year)
select expCat;
foreach (var category in categories)
{
if (!hash.ContainsKey(category.Id))
{
hash.Add(category.Id, category);
}
}
}
return hash.Values;
Хотя это работает, он создает несколько запросов к базе данных и не очень хорошо выражает свое намерение. Есть ли более аккуратный способ сделать это?