Я занят написанием некоторых методов расширения и пока все шло хорошо.
У меня есть метод getCities, который принимает IQueryable qry и должен вернуть все регионы в qry, которые имеют тип региона города.
Я пытался использовать linq для этого, но сдался и сейчас использую цикл for.
Это работает, но это беспокоит меня. Внизу я прокомментировал выдвинутое мной заявление linq, которое не работает.
Цикл for возвращает записи правильно, закомментированный мной запрос linq никогда ничего не возвращает.
Регион может иметь только 1 Region_Type, но subsonic делает его коллекцией, поэтому для получения регионов Region_Type я использую item.Region_Types.First ().
public static IQueryable<Region> getCities(this IQueryable<Region> qry)
{
List<Region> returnCol = new List<Region>();
foreach (var item in qry)
{
if (item.Region_Types.First().Name.ToLower().Trim().Equals("city"))
{
returnCol.Add(item);
}
}
return returnCol.AsQueryable();
//return qry.Where(t => t.Region_Types.First().Name.ToLower().Trim().Equals("city"));
}