我有一个函数,用于通过实体框架检索数据。
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)));