我在我的数据库中有这个模型,以及在ef核心中表示它的特定类。
我正在使用GenericRepository并尝试获取DietProduct表的集合,稍后将通过自动映射器对视图进行调整。
当我尝试使用DietproductLocalization获取所有活跃的DietProducts列表时,问题就开始了,其中LanguageId = @LanguageId;
我试图完成这样的通用方法:
public List<TEntity> FindComplex(Expression<Func<TEntity, bool>> predicate, params string[] includes)
{
IQueryable<TEntity> query = Context.Set<TEntity>();
foreach (var include in includes)
query = query.Include(include);
return query.Where(predicate).ToList();
}
然后使用select as:
int currentLanguage = LanguageUtility.GetLanguageId(CultureInfo.CurrentCulture);
var dp = _repo.DietProduct.FindComplex(x => x.Active
&& x.DietProductLocalization
.Any(l => l.LanguageId == currentLanguage), "DietProductLocalization");
但到目前为止没有运气,因为它不断返回包含表格中的所有行,当然包含代表all or nothing。
有没有办法编写泛型方法和特定查询,所以我不必使用内部联接的特定查询?