我想通过传递谓词来过滤我的GetAll Repository函数。我想检查一下,如果国家不是来自ajax请求,则不应过滤它并带来所有记录。 我想要的是什么,见图像
我是如何解决的
我已经通过编写自己的代码解决了这个问题,但我怀疑它会慢,因为它会首先带来所有记录。什么是完美的方式,我仍然感到困惑。
string country = Request["country"]+"";
ICollection<Location> set = new LocationRepository().GetAll().ToList<Location>();
if (country != "")
set = set.Where(p => p.Country == country).ToList();
List<Location> list = set.OrderByDescending(p=>p.Id).Take(10).ToList();
答案 0 :(得分:0)
我猜它会像以下一样
public void GetAll(Expression<Func<Location, bool>> exp)
{
....
}