0
我相当有信心我有正确的想法,但我需要确定并且无法拿出我自己需要的确认。LINQ可选where子句对性能的影响
我正在查询数据库使用实体框架与SQL作为我在C#后端。这里“测试”是我的桌子的名字。
var query1 = from t in testing
select t;
现在我需要添加一个where子句,但是这个where子句是可选的,并且由用户控制。所以我添加了一些内容:
bool trivialOption = true;
if(trivialOption)
{
query1 = query1.Where(t => t.TrivialProperty == true);
}
这只是一个“where”子句,将被应用。会有更多。
据我了解,只要我不上名单列举,还有在做这种方式没有性能损失,而不是做这样一个完全不同的查询:
if(trivialOption)
{
var query1 = from t in testing
where (t => t.TrivialProperty)
select t;
}
else
{
var query1 = from t in testing
select t;
}
这,当其他可选的where子句进入时,会非常快速地变得非常混乱。
我正确地说,懒/延迟加载允许我做没有任何性能命中的第一个选项?
太棒了。非常丰富的文章。感谢您的参考。 – ilyketurdles