Здравствуйте, gandjustas, Вы писали:
НС>>Сейчас, в принципе, ни одна ORM не доросла до уровня, который позволит абстрагироваться от ее специфики. Так что попытка такую абстракцию ввести — классический случай leaky abstraction со всеми вытекающими.
G>Дело не в конкретных ORM
Конечно не в конкретных. Потому что ровно 100% ORM не способны полностью спрятать детали реализации. Причем с тяжелыми ORM вообще сразу все понятно. Из легковесных linq2db продвинулась дальше всего, но и там такое море специфики, что о полной абстракции не приходится даже мечтать. Итого, нетекущая абстракция сейчас возможна только на уровне самых простых запросов с явными джойнами.
G>SQL очень выразительный язык, гораздо выразительнее любого мейнстримного языка,
Чего? Я тебе как садовод могу сказать, что даже та выразительность, что дает expression tree в шарпе на голову выше, чем выразительность SQL. Потому что постоянно приходится сталкиваться с ситуацией, когда тривиальное выражение на linq невозможно или очень сложно оттранслировать в SQL. Банальный group by порой таких жестких приседаний на sql требует, что в пору застрелиться.
G> Linq создавался как раз чтобы не сильно отставать по выразительности от SQL.
Это ты сам придумал?
G>Вот Синклер рассказывал к чему приводит "абстрагирование" http://rsdn.ru/forum/design/5682243Автор: Sinclair
Дата: 10.07.14
Он то расказал правильно, а вот ты понял его как то странно, судя по всему.