【发布时间】:2016-04-25 18:06:48
【问题描述】:
我相当有信心我的想法是正确的,但我需要确定并且无法自己提出我需要的确认。
我正在使用 Entity Framework 和 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 子句时,这会很快变得非常混乱。
我是否正确地说延迟/延迟加载允许我在没有任何性能影响的情况下执行第一个选项?
【问题讨论】: