当前位置: 代码迷 >> ASP.NET >> Linq怎么应对不确定的Sql查询
  详细解决方案

Linq怎么应对不确定的Sql查询

热度:1390   发布时间:2013-02-25 00:00:00.0
Linq如何应对不确定的Sql查询
from student in ctx.Students where student.Name == '张三' select studnt

如果这个 student.Name == '张三' 条件是在运行时决定的,就是说整个查询的条件可能为一个两个多个或一个都没,这种情况代码应该怎么写?

------解决方案--------------------------------------------------------
帮LZ顶
------解决方案--------------------------------------------------------
先不要写Where条件,之后再用Lamda表达式传条件
------解决方案--------------------------------------------------------
var q = ctx.Students;
if(string.IsNullOrEmpty(name)) {
q.Where(p => p.Name == name);
}
if(age.HasValue) {
q.Where(p => p.Age == age.Value);
}
...
------解决方案--------------------------------------------------------
o_o
------解决方案--------------------------------------------------------
看一下linq sample里DynamicQuery
这是它的运行效果
var query =
db.Customers.Where("City == @0 and Orders.Count >= @1", "London", 10).
OrderBy("CompanyName").
Select("New(CompanyName as Name, Phone)");
  相关解决方案