【发布时间】:2019-07-24 15:11:12
【问题描述】:
首先我在各种控制器方法中调用 getall() 方法,然后使用 linq 查询仅获取活动用户。但我想制作一个通用函数,一次从各种表中获取所有活动属性。所以我只能调用那个特定的“getallwhere”方法。
public IEnumerable<TEntity> GetAllWhere(TEntity entity)
{
return Context.Set<TEntity>().Where(c=>c.isActive == true)
}
public interface IRepository<TEntity> where TEntity : class
{
IEnumerable<TEntity> GetAllWhere();
}`
【问题讨论】:
-
您能否更具体地说明什么不起作用?
-
我一直不喜欢表达式树,但具体的问题是什么?
-
var category = _categoryRepository.GetAll().Where(c => c.IsActive == true) 但我想要这样的东西:- var category = _categoryRepository.GetAllWhere();
-
一切正常。问题是首先我得到所有字段,然后应用 where 条件。我想创建一个特定的函数来执行此任务,然后在任何地方调用该函数。
-
重申一下,我相信您希望将表达式从另一层传递到编译器仍将自动构建的实体上下文。
标签: c# linq asp.net-core repository repository-pattern