Коментарий автора: Статья написана в 2012 году и пролежавшая 8 лет в песочнице.
LINQ — как много было придумано в C# лишь для того чтобы мы могли наслаждаться прелестями Language Integrated Query. А именно:
И это все чтобы мы могли написать нечто вроде такого:
Нельзя не согласиться — впечталяет.
И среди всего этого синтаксического сахара была ложка дегдя которая мне не давала нормально выспаться :)
Это тотальное отсутствие поддержки OUTER JOIN. Но как оказалось деготь с легкостью превращается… превращается… превращается…
LINQ — как много было придумано в C# лишь для того чтобы мы могли наслаждаться прелестями Language Integrated Query. А именно:
- Generics
- Extension Methods
- Lamda expressions
- Expression trees
- Anonymous types
- Object initializers
- Type inferring
И это все чтобы мы могли написать нечто вроде такого:
var query =
from itemA in listA
join itemB in listB
on itemA.Key equals itemB.Key
select new {itemA, itemB};
Нельзя не согласиться — впечталяет.
И среди всего этого синтаксического сахара была ложка дегдя которая мне не давала нормально выспаться :)
Это тотальное отсутствие поддержки OUTER JOIN. Но как оказалось деготь с легкостью превращается… превращается… превращается…