如何在LINQ中通过子集合值进行选择

时间:2013-11-26 14:58:20

标签: c# sql linq entity-framework

我只是卡住了......试图根据子集合中的值从表(LINQ到EF)中选择记录。

我有一个Tour类,它与Category表有关系(很多 - 很多集合)。 我需要按类别选择游览..

这是我的问题:

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;

查询有效但当我尝试按类别ID进行过滤时却没有...(tourCategory是int Id)

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

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