.net core 带If条件的Lambda表达式
我正在使用Lambda表达式开发一个报告和数据查询 我有六个参数作为查询参数。例如姓名、年龄、eamil、DOB、职位和部门 我想使用Lambda表达式查询参数为空或null的表 我正在使用.net核心和实体框架核心.net core 带If条件的Lambda表达式,.net-core,entity-framework-core,.net Core,Entity Framework Core,我正在使用Lambda表达式开发一个报告和数据查询 我有六个参数作为查询参数。例如姓名、年龄、eamil、DOB、职位和部门 我想使用Lambda表达式查询参数为空或null的表 我正在使用.net核心和实体框架核心 有什么方法可以实现这一点吗?我建议实现一个查询/过滤函数,该函数实现默认参数,以便在某些参数为空时,它们不会成为查询的一部分 例如: public List<Student> GetStudents(string name = null, int? age){ va
有什么方法可以实现这一点吗?我建议实现一个查询/过滤函数,该函数实现默认参数,以便在某些参数为空时,它们不会成为查询的一部分 例如:
public List<Student> GetStudents(string name = null, int? age){
var students = context.Students;
if (name != null) students = students.Where(p => p.Name == name );
if (age != null) students = students.Where(p => p.Age == age);
return students.ToList();
}
公共列表GetStudents(字符串名称=null,int?age){
var学生=上下文。学生;
如果(name!=null)students=students.Where(p=>p.name==name);
如果(age!=null)students=students.Where(p=>p.age==age);
返回学生;
}
我建议实现一个查询/过滤功能,该功能实现默认参数,以便在某些参数为空时,它们不会成为查询的一部分 例如:
public List<Student> GetStudents(string name = null, int? age){
var students = context.Students;
if (name != null) students = students.Where(p => p.Name == name );
if (age != null) students = students.Where(p => p.Age == age);
return students.ToList();
}
公共列表GetStudents(字符串名称=null,int?age){
var学生=上下文。学生;
如果(name!=null)students=students.Where(p=>p.name==name);
如果(age!=null)students=students.Where(p=>p.age==age);
返回学生;
}
对其他不带引号的参数执行相同操作“(参数==null | | x.列==parameter)”
若参数为null,则跳过。否则,它将使用x.Column==参数
对其他不带引号的参数执行相同操作“(参数==null | | x.列==parameter)”
若参数为null,则跳过。否则,它将使用x.Column==参数。这是否回答了您的问题?这回答了你的问题吗?