Re[11]: Entity Framework за! и против!
От: Ночной Смотрящий Россия  
Дата: 19.08.14 09:52
Оценка:
Здравствуйте, gandjustas, Вы писали:

НС>>Да не особо. Приведенные тобой примере это точно не доказывают.

G>Ты везде сводишь к тому, что можно написать свои функции и потом их както мапить. Вот только с ranking function ничего хорошего не получается, увы.

Почему?

G>В линке нет готовых средств для обхода деревьев


В линке вообще нет готовых средств. Средства предоставляют конкретные провайдеры.

G>Ты куда-то в сторону ушел.




G>3) Все пляски с Expression Trees и linq-comprehensions сделаны только для трансляции запросов в SQL. В других языках есть query comprehensions, которые гораздо лаконичнее с такой же выразительной силой.


Это Мейер говорил? Ты точно в этом уверен? Потому что когда я с ним разговаривал, он говорил совсем иное.

G>У тебя есть возражения?


Не не не. Ты давай расскажи, где это Мейер рассказывал что выразительность у линка меньше, чем у SQL.

G>Во-первых внутри ET можно написать любое выражение языка, например создание несериализуемых объектов.


Это мелочь. Проблема не в этом. А вот то что легко написать GroupBy, который придется транслировать в килограмм запрросов — вот это уже конкретная проблема выразительности SQL.

G> Во-вторых linq работает с последовательностям


Это — в корне неверно. Последовательности для линка — лишь частный случай. И даже в рамках последовательностей — у линка свойство элемента последовательности легко и логично может быть последовательностью. А вот у SQL с этим совсем не все так просто.

G>, а SQL с множествами, разница в семантике делает многие linq выражения бессмысленными в SQL. Но оба эих факта никаким образом не связаны с выразительной силой.


Это ты так думаешь. А на самом деле это прямое следствие большей выразительности линка.

G>Фактически выразительная сила — возможность получить больше результатов выражений, используя меньше кода.


Угу. И уже одна возможность не писать в линке большую часть джойнов вполне себе наглядно демонстрирует, какой из языков выразительнее. А если к тому добавить убогость и громоздкость CTE по сравнению с простейшими способами декомпозиции в линке, то я вообще не понимаю как можно не видеть очевидного.
Скажи, кстати, а зачем приделали возможность писать хранимки на дотнете? Это тоже от очень большой выразительности SQL?

G> Если мы рассматриваем работу с данными, то Linq, увы, в не дотягивает до SQL.


 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.