当搜索LINQ条件where子句中,我发现this article,他们使用的方法是象下面这样:LINQ的条件Where子句
var logs = from log in context.Logs
select log;
if (filterBySeverity)
logs = logs.Where(p => p.Severity == severity);
if (filterByUser)
logs = logs.Where(p => p.User == user);
但我想知道是这种方法有效? linq会执行多少个查询?
我已经看过答案,我认为这种方法虽然效率较低,但从类型安全的角度来看,确实好得多。毕竟,一开始,LINQ的设计是为了避免动态查询,所以它是毫无意义的,其次,如果你不小心,它总是倾向于SQL注入。 – 2015-09-27 05:25:07