我有一个用于通过实体框架检索数据的函数。
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进行比较,而不是单个子类别。
非常令人沮丧所以任何建议都会受到赞赏。
答案 0 :(得分:1)
假设您有IEnumerable<int>
个名为ID的ID,其中包含您要搜索的值:
var deals = r.FindBy()
.Include("DealSubcategories")
.Where(d => d.DealSubcategories.Any(s => ids.Contains(s.SubcategoryId)));