Linq实现字符串拼接多条件查询

时间:2023-03-10 07:26:01
Linq实现字符串拼接多条件查询

Linq实现字符串拼接多条件查询

开发过程中,为提升用户体验,经常会使用到多条件查询,本篇博客介绍如何使用Linq实现字符串拼接多条件查询

一般SQL字符串拼接

 1  string sql = "select * from StuInfo s inner join Class c on s.CId=c.CId where 1=1";
2 if (sid != )
3 {
4 sql += " and s.SId=" + sid;
5 }
6 else if (sname != null)
7 {
sql += " and s.SName='" + sname + "'";
9 }
10 return sql.ToString();

Linq字符串拼接

 1  var stu = from s in _context.StuInfo
join c in _context.Class on s.CId equals c.CId
3 select new
{
s.SId,
s.SName,
s.SSex,
s.SAge,
s.SHobby,
c.CName
};
12 if (sid != )
{
stu = stu.Where(p => p.SId == sid);//使用lambda表达式
}
else if (sname != null)
{
stu = stu.Where(p => p.SName.Contains(sname));
}
20 stu.ToList();//所有的if只有到此处才会执行

End!