0

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

    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 子句允许我按单个 subcategoryId 进行过滤(由 Lee 和 Jon Skeet 提供),但我在将其与不同查询中的列表进行比较时同样苦苦挣扎。因此,我会以某种方式与 List 进行比较,而不是单个 subcategoryId。

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

4

1 回答 1

1

假设您有一个IEnumerable<int>包含您要搜索的值的被调用 id:

var deals = r.FindBy()
            .Include("DealSubcategories")
            .Where(d => d.DealSubcategories.Any(s => ids.Contains(s.SubcategoryId)));
于 2012-08-25T12:35:20.820 回答