要与列表匹配的Linq嵌套ID



我有一个函数,用于通过实体框架检索数据。

    public IEnumerable<Deal> GetCategory(int subcategoryId)
    {
        using (var uow = new ReadUow())
        {
            var r = new ReadRepo<Deal>(uow.Context);
            var deals = r.FindBy()
                .Include("DealSubcategories")
                .Where(d => d.DealSubcategories.Any(s => s.SubcategoryId == subcategoryId));
            return deals.ToList();
        }
    }

Where子句允许我按单个子类别ID进行筛选(由Lee和Jon Skeet提供),但我也很难将其与不同查询中的列表进行比较。因此,我会以某种方式将其与List进行比较,而不是使用单个subcategoryId。

非常令人沮丧,所以任何建议都将不胜感激。

假设您有一个名为id的IEnumerable<int>,其中包含要搜索的值:

var deals = r.FindBy()
            .Include("DealSubcategories")
            .Where(d => d.DealSubcategories.Any(s => ids.Contains(s.SubcategoryId)));

最新更新