использование Linq с несколькими условиями where
у меня есть класс, представляющий таблицу в базе данных, которая определена:
public class MyClass{
public int MyClassId{get;set;}
public string Name{get;set;}
public string LastNamw{get;set;}
public DateTime From{get;set;}
public DateTime To{get;set;}
}
на котором я хочу запустить некоторый поисковый запрос против базы данных oracle.
теперь вопрос :
var list = context.MyClass
.Where(x => x.From>= FromMyDate)
.Where(x => x.To <= ToMyDate);
var list = context.MyClass
.Where(x => x.From>= FromMyDate && x.To <= ToMyDate);
лучше ли использовать несколько строк с условием where или один? И почему... пожалуйста!--10-->
насколько я понимаю, я использую несколько предложений where, когда хочу выполнить поиск по результату первого условия.
2 ответов
неважно
вы просто создаете дерево выражений, которое передается поставщику Oracle, и задача поставщика-создать результирующий SQL-запрос. Несмотря на то, что дерево выражений будет немного отличаться между ними, оно все равно должно привести к одному и тому же sql. Мне нравится использовать профилировщик sql, чтобы убедиться, что мои запросы linq производят эффективный sql.