在存储库模式中,当涉及到定义我们的方法时,最好有一个"泛型"使用{cc_id:"1", cc_name:"cc1", cc_password:"cc1", cc_points:"8"}
接受任何过滤器的方法,或者为每个过滤器提供多种描述性方法?
Func<T, bool>
public User Get(Func<User, bool> filter)
{
return _context.User.SingleOrDefault(filter);
}
public List<User> GetAll(Func<User, bool> filter)
{
return _context.User.Where(filter).ToList();
}
答案 0 :(得分:1)
我使用第一个选项并另外定义返回Expression<Func<User, bool>>
的方法,这些方法可以作为参数传递。
public Expression<Func<User, bool>> GetAdults()
{
return user => user.Age >= 18;
}