2013-11-26 3 views
2

Я просто застрял .. пытаясь выбрать записи из таблицы (LINQ to EF) на основе значения в дочерней коллекции.Как выбрать значение дочерней коллекции в LINQ

У меня есть туристическое предприятие, которое имеет отношение (многие - многие коллекции) к таблице категорий. мне нужно выбрать туры по категориям ..

Вот мой запрос:

var _tours = from _tr in Context.Tours.Where(i => i.IsActive == true) 
        .Include(cat => cat.TourCategories)//.Where(id => d.TourCategoryID == tourCategory) 
        select _tr; 
     return _tours; 

работы запроса, но не тогда, когда я пытаюсь фильтровать по категориям ид .. (tourCategory является INT Id)

Любая помощь будет оценена по достоинству.

ответ

1
var _tours = Context.Tours.Where(i => i.IsActive == true) 
    .Include(cat => cat.TourCategories). 
    .Where(x => x.TourCategories.Any(y => y.TourCategoryID == tourCategory) 
+0

Работает как шарм :) Спасибо –

Смежные вопросы