как называется этот вид запроса и разница между ними - PullRequest
0 голосов
/ 11 февраля 2011

Как называется этот запрос двух типов?

return (from c in _dbRead.Domain
                where c.ID == ID
                select c).FirstOrDefault();

return _dbRead.Domain.Where(x => x.ID == ID).FirstOrDefault();

Я имею в виду, скажем, я называю первый запрос «запросом linq to sql». Что я называю вторым запросом, конечно же, второй запрос также называется «запросом linq to sql», но как я называю второй запрос.

И скажите, пожалуйста, в чем разница между ними?

Ответы [ 3 ]

3 голосов
/ 11 февраля 2011

Первый использует синтаксис выражения запроса, а второй использует синтаксис метода.

По сути, это одно и то же: компилятор преобразует первую версию во вторую (подробнее об этом процессе преобразования можно прочитать в часть 41 серии Edulinq Джона Скита). Между ними нет никакой семантической разницы или производительности.

2 голосов
/ 11 февраля 2011

Первая версия использует синтаксис понимания запросов, тогда как вторая использует методы расширения. Они обе формы LINQ.

2 голосов
/ 11 февраля 2011

x => x.ID == ID в частности называются лямбда-выражениями .Кроме того, для таких запросов нет специальных имен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...