是否可以在Repository Pattern Query中添加if-else条件,如果是,那么如何?
我有以下查询:
int Id=3;
IList<Demo> obj= repository.Query<Demo>(p => p.id == Id).ToList<Demo>();
如果Id不等于0,那么我希望同一查询中的条件只有
p => p.id == Id
否则它不应该包含在查询中,是否可能?
我想要这样的事情:
IList<Demo> obj= repository.Query<Demo>(Id != 0?p => p.id == Id:" ").ToList<Demo>();
答案 0 :(得分:1)
IList<Demo> obj= repository.Query<Demo>().ToList<Demo>();
obj= Id != 0 ? obj.Where(p => p.id== Id).ToList<Demo>() : obj;
这对我有用:)
答案 1 :(得分:0)
您可以在查询之外移动条件:
int Id=3;
IList<Demo> obj = repository.Query<Demo>();
if (Id != 0)
{
obj = obj.Where(p => p.id == Id);
}
var result = obj.ToList();