Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Однажды начав думать исключительно в терминах LINQ, ваши запросы будут иметь очень мало общего с их SQL-аналогами. Во многих случаях, они будут также значительно проще.Особенности SQL в голове держать всё равно надо. Так, в Linq2Objects Sum от пустой последовательности выбросит исключение, а в SQL вернёт NULL, по которому, например, плохо работает сортировка. Вот и рождаются конструкции вида
.OrderBy (x => ((uint?) _someQuery_.Sum(y => y.Value)) ?? 0)
Бывают ситуации, в которых для LINQ запросов необходимо ключевое слово var. Это происходит при проекции в анонимный тип:
string[] people = new [] { «Tom», «Dick», «Harry» };
var filteredPeople = people.Select (p => new { Name = p, p.Length });
IEnumerable<object>.Миф #10
Лучший способ использования LINQ to SQL- это инстанциировать единственный экземпляр класса DataContext в статическом свойстве и использовать этот общий экземпляр на протяжении всей жизни приложения.
Когда вы создаете запрос к базе данных, ключевое слово join вовсе необязательно: операция соединения может быть заменена использованием нескольких from-ов и подзапросов.
10 мифов о LINQ