Re[11]: Почему вы НЕ используете Entity Framework?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.07.14 22:26
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Ты прочитай ответы до конца. Эту проблему легко обойти.


Само наличие этой проблемы — скверный сигнал. Это ж не какой то хитровычурный юзкейс, это один из базовых сценариев.

AVK>>Переходишь на личности, некрасиво.

G>Знаешь, уже не только я отметил непрофессиональный подход некоторых личностей. Не уподобляйся им.

И опять перешел на личности.
... << RSDN@Home 1.2.0 alpha 5 rev. 100 on Windows 8 6.2.9200.0>>
AVK Blog
Re[12]: Почему вы НЕ используете Entity Framework?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 08.07.14 22:44
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, gandjustas, Вы писали:


G>>Ты прочитай ответы до конца. Эту проблему легко обойти.


AVK>Само наличие этой проблемы — скверный сигнал.

"Скверный сигнал" имеет хоть какое-то отношение к реальным проблемам?
Еще раз повторяю:
1) в linq этот "скверный сигнал" исправляется заменой аж двух строк.
2) Там где исправить нельзя этот "скверный сигнал" имеет влияние на на быстродействие меньше статистической погрешности.

AVK>Это ж не какой то хитровычурный юзкейс, это один из базовых сценариев.

Использование identity map тоже "не хитровычурный юзкейс, это один из базовых сценариев", вот только он в linq2db не поддерживается. Скверный сигнал однако...

AVK>>>Переходишь на личности, некрасиво.

G>>Знаешь, уже не только я отметил непрофессиональный подход некоторых личностей. Не уподобляйся им.
AVK>И опять перешел на личности.
Потому что проблема не в конкретных ORM, а в людях, выносящих суждения, используя настолько непрофессиональную аргументацию.
Еще раз повторяю: не уподобляйся им.
Re[13]: Почему вы НЕ используете Entity Framework?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.07.14 22:52
Оценка:
Здравствуйте, gandjustas, Вы писали:

AVK>>Это ж не какой то хитровычурный юзкейс, это один из базовых сценариев.

G>Использование identity map тоже "не хитровычурный юзкейс, это один из базовых сценариев"

Нет, это не базовый сценарий а заботливо подложенные грабли.

G>, вот только он в linq2db не поддерживается


Совершенно намеренно, замечу. Т.е. это вполне осознанное решение, принятое на основании значительного опыта нескольких людей.

AVK>>И опять перешел на личности.

G>Потому что проблема не в конкретных ORM, а в людях

Проблемы, они, конечно, всегда в людях, но здесь технический форум.

G>Еще раз повторяю: не уподобляйся им.


Пока что им уподобляешься ты, с завидным упорством переходя на личности вместо конструктивного разговора.
... << RSDN@Home 1.2.0 alpha 5 rev. 100 on Windows 8 6.2.9200.0>>
AVK Blog
Re[13]: Почему вы НЕ используете Entity Framework?
От: fddima  
Дата: 09.07.14 00:17
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

AVK>>Это ж не какой то хитровычурный юзкейс, это один из базовых сценариев.

G>Использование identity map тоже "не хитровычурный юзкейс, это один из базовых сценариев", вот только он в linq2db не поддерживается. Скверный сигнал однако...
Едва ли он кому-то нужен. А впиндюреный туда намертво — точно не нужен.
Re[6]: Почему вы НЕ используете Entity Framework?
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 09.07.14 03:40
Оценка: 13 (4) +7 -1 :))
Здравствуйте, AndrewVK, Вы писали:

AVK>А меня вот другой вопрос интересует — почему критика в адрес некоторых технологий всегда вызывает у определенных людей жуткое желание с ней спорить до последнего, при помощи некооректных приемов спора в том числе? Это вот, как раз, EF, юнит-тестирование еще, rich data model. Ах да, Немерле вот


Я не до конца понял, в чей огород тут камень, но рискну предположить, что это был выпад в сторону оппонентов IB.

Еще раз повторю свой посыл. Читая сообщения IB (и вообще противников EF'а и тяжеловесных ORM'ов) складывается впечатление, что этот EF -- диавольская технология и вообще худшее, что могло случиться в мире .NET. Возможно. Но аргументация выпадов страдает. Походя бросить "Identity Map/Lazy Loading не нужен потому что гладиолус" или "В EF плохо всё" -- это, бесспорно, очень задорно, но после просьбы как-то более предметно (и с использованием объективных технических аргументов) раскрыть суть претензии запал обычно затухает, нападает лень, члены становятся немощны и в качестве доказательств используются посылы вида "я уже в этом топике рассказывал, поищи, лень одно и то же по цать раз повторять" и "перечитай мое сообщение внимательнее", либо апелляция к собственному опыту "да я смотрел, там ничего не изменилась", либо же цитирование каких-то ветхозаветных (или не относящихся к делу) статей, или, чего хлеще, цитирование соратников по благодатному срачу. И дискуссия в итоге вырождается в "Спор без фактов. Спор на темпераменте. Спор, переходящий от голословного утверждения на личность партнера."

Возможно, вы знаете что-то такое, что могло бы открыть глаза на порочность использования ORM'ов всему RSDN'у. Если это так, то почему бы раз и навсегда не положить конец лютым спорам и не собрать в одном месте все доводы против EF'а и ORM'ов, подкрепив это все для верности верфицируемыми доказательствами (вот про этот разнесчастный left join, пол неотключаемый LL, что там еще)? Там же можно похвастаться боевыми шрамами: "вот я использовал ORM в таком-то проекте и вот как вероломно этот Identity Map укусил меня за жопу" или "использование Lazy Loading привело к тому, что наш сайт стал жрать память и локи на таблицах висели как яблоки на яблоне в урожайную пору".

Нынешний уровень аргументации -- не канает, увы.
HgLab: Mercurial Server and Repository Management for Windows
Re[9]: Почему вы НЕ используете Entity Framework?
От: IB Австрия http://rsdn.ru
Дата: 09.07.14 04:53
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Замеры скорости работы Linq2SQL. Или снова все по пресс-релизам?

В топике про пресс-релизы ты слился, так что не вижу причины повторять это упражнение здесь.
Мы уже победили, просто это еще не так заметно...
Re[5]: Почему вы НЕ используете Entity Framework?
От: IB Австрия http://rsdn.ru
Дата: 09.07.14 05:21
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>Я и сам не в восторге от EF и никому его в здравом уме не порекомендую, но почему-то у меня не возникает желания впрягаться практически в каждый топик с обсуждением оного.

Да я и не впрягаюсь. )

Н>Вы же, наверное, самый ярый его здесь противник,

Вовсе нет. Но, наверное, один из самых последовательных.

Н> но предъявляемые претензии уровня "хвост болтается между ног", "криво через жопу", "враскоряку", "лишний код", "не нужен" и т.д. несколько не канают на профессиональном форуме.

Ну вот так передергивать совсем не красиво — это вовсе не моя терминология. =)

Н> Единственный относительно технический довод "против EF" (из более-менее свежих постов) был касательно его странного поведения при left join'ах
Автор: IB
Дата: 01.07.14
-- и только.

И только?! А сколько таких "и только" нужно?
Для меня ситуация выглядит несколько иначе. Для аудитории, которая считает, что ORM которая криво генерит запросы с left join-ами это "и только" — уровень моей аргументации слишком профессионален, но, к сожалению, опускаться ниже я уже не могу.

Н> Складывается впечатление, что EF лично вам чем-то досадил и вы, толком не разобравшись (да-да, я помню про "смотрел самую свежую версию, все проблемы там же и остались", но см. выше про технические аргументы), начали огульно кунать в какашки его и все Heavyweight ORM'в вместе взятые.

У меня складывается обратное впечатление. Я уже достаточно подробно объяснил, в том числе и в свежих топиках, почему у EF проблемы и откуда они берутся, привел несколько примеров этих проблем и показал почему они остаются в продукте от версии к версии... Собственно ответ "by design" от разработчиков — лишнее подтверждение моей правоты. Что еще надо?
Любое дополнительное количество технических аргументов будет упираться в "и только", но мне это уже давно не интересно...

Н>Возможно, вы уже подустали повторять одно и то же в разных тредах,

Да.

Н>но сам факт участия в них говорит об обратном:

сам факт участия в них ни говорит ни о чем. Мне просто нравится наблюдать как оппоненты сначала пыжутся, напирают, а потом молча сливаются, когда показываешь как все на самом деле происходит

Н> "враскоряку"-стайл аргументы в ответах присутствуют, а объективности как-то не наблюдается.

Ойнупростите, признаю, не объективен. Все-таки у меня какая-то неявная симпатия к EF присутствует и потому был излишне мягок, больше не повторится ))


Н> Возможно, вам стоит один раз собраться, написать в местный блог статейку с перечислением самых одиозных родовых травм EF'а и его технических недостатков и войти таким образом в пантеон развенчателей мифа ORM'ов?

Вот тогда бы я впрягся. =) Но я это упражнение уже несколько раз проделывал — больше не интересно.
Мы уже победили, просто это еще не так заметно...
Re[9]: Почему вы НЕ используете Entity Framework?
От: IB Австрия http://rsdn.ru
Дата: 09.07.14 05:24
Оценка:
Здравствуйте, Аноним, Вы писали:


А>откуда новости?

http://blogs.msdn.com/b/adonet/archive/2014/05/19/ef7-new-platforms-new-data-stores.aspx
Мы уже победили, просто это еще не так заметно...
Re[7]: Почему вы НЕ используете Entity Framework?
От: IB Австрия http://rsdn.ru
Дата: 09.07.14 05:39
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>Нынешний уровень аргументации -- не канает, увы.

Ох какое падение нравов ((
Ну, значит не судьба, от нынешнего уровня аудитории я тоже не в восторге... ;(
Мы уже победили, просто это еще не так заметно...
Re[10]: Почему вы НЕ используете Entity Framework?
От: Аноним  
Дата: 09.07.14 05:56
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Нормальные селекты для master->detail — это обязательное требование для любой серьезной ORM, даже для легковесной типа linq2db.


а linq2db такое умеет?
Re[14]: Почему вы НЕ используете Entity Framework?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.14 06:05
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, gandjustas, Вы писали:


AVK>>>Это ж не какой то хитровычурный юзкейс, это один из базовых сценариев.

G>>Использование identity map тоже "не хитровычурный юзкейс, это один из базовых сценариев"
AVK>Нет, это не базовый сценарий а заботливо подложенные грабли.
Нет, это базовый сценарий. Им пользуется на 3 порядка больше людей, чем всем linq2db и dapper вместе взятыми.


G>>, вот только он в linq2db не поддерживается

AVK>Совершенно намеренно, замечу. Т.е. это вполне осознанное решение, принятое на основании значительного опыта нескольких людей.
Нескольких это пяти? или шести?


AVK>>>И опять перешел на личности.

G>>Потому что проблема не в конкретных ORM, а в людях
AVK>Проблемы, они, конечно, всегда в людях, но здесь технический форум.
Именно, поэтому аргументы вроде "скверный сигнал", "грабли" не канают.
Приводи конкретные примеры.
Re[14]: Почему вы НЕ используете Entity Framework?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.14 06:09
Оценка:
Здравствуйте, fddima, Вы писали:

F>Здравствуйте, gandjustas, Вы писали:


AVK>>>Это ж не какой то хитровычурный юзкейс, это один из базовых сценариев.

G>>Использование identity map тоже "не хитровычурный юзкейс, это один из базовых сценариев", вот только он в linq2db не поддерживается. Скверный сигнал однако...
F> Едва ли он кому-то нужен. А впиндюреный туда намертво — точно не нужен.
В теории конечно так, а на практике куча инструментов в .net заточено именно на работу с объектами. Напрмиер model binding в asp.net.

Я попробовал в одном небольшом проекте прикрутить linq2db вместо EF, код распух примерно в 2 раза, функциональности не добавилось.

Про неработоспособность вещей типа dynamic data и odata сервисов даже не буду писать.
Re[10]: Почему вы НЕ используете Entity Framework?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.14 06:10
Оценка:
Здравствуйте, IB, Вы писали:

IB>Здравствуйте, gandjustas, Вы писали:


G>>Замеры скорости работы Linq2SQL. Или снова все по пресс-релизам?

IB>В топике про пресс-релизы ты слился, так что не вижу причины повторять это упражнение здесь.
Продолжай верить, это путь к успеху.
Re[15]: Почему вы НЕ используете Entity Framework?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 09.07.14 09:40
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Про неработоспособность вещей типа dynamic data и odata сервисов даже не буду писать.


Аналог odata там есть, причем кое какие вещи в odata появились только в 4 версии.
... << RSDN@Home 1.2.0 alpha 5 rev. 100 on Windows 8 6.2.9200.0>>
AVK Blog
Re: Почему вы НЕ используете Entity Framework?
От: Аноним  
Дата: 09.07.14 09:57
Оценка:
AK>Какие ещё минусы есть у Entity Framework? Что может послужить аргументом для отказа от его использования в проекте?

Проект в котором важна скорость обработки данных в СУБД. Избавится от использования хранимых процедур в таких проектах невозможно, иначе придется большие объемы данных тащить в приложение и потом обратно с базой их "джойнить", это всегда эффективнее делать на уровне СУБД. А устраивать зоопарк — часть логики в хранимых на уровне СУБД, часть запросов в приложении — это не очень удобно. Делать из сервера приложений — сервер СУБД который бы ворочал данные тоже не верно.
Re[16]: Почему вы НЕ используете Entity Framework?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.14 19:01
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, gandjustas, Вы писали:


G>>Про неработоспособность вещей типа dynamic data и odata сервисов даже не буду писать.


AVK>Аналог odata там есть, причем кое какие вещи в odata появились только в 4 версии.


Об этом, видимо, знает лишь "несколько людей" (с)
Re[17]: Почему вы НЕ используете Entity Framework?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 09.07.14 19:37
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Об этом, видимо, знает лишь "несколько людей" (с)


Кому интересно, тот знает. Этот функционал еще с BLT, со времен когда одата называлась WCF Data Services.
... << RSDN@Home 1.2.0 alpha 5 rev. 100 on Windows 8 6.2.9200.0>>
AVK Blog
Re[15]: Почему вы НЕ используете Entity Framework?
От: IB Австрия http://rsdn.ru
Дата: 09.07.14 22:58
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Нет, это базовый сценарий. Им пользуется на 3 порядка больше людей, чем всем linq2db и dapper вместе взятыми.

Похоже у тебя не правильное понятие "базового сценария". Впрочем, мы это выяснили еще в прошлый раз.

G>Нескольких это пяти? или шести?

Да хоть одного, какая разница сколько их?

G>Приводи конкретные примеры.

Да привели тебе уже пример, просто в твоей реальности он не релевантен. Ну нет, так нет. Для тех целей, для которых мы используем ORM — этого примера вполне достаточно, для того чтобы EF дальше даже не рассматривать. Однако в твоих сценариях это норма — ну значит такие сценарии...
Мы уже победили, просто это еще не так заметно...
Re[11]: Почему вы НЕ используете Entity Framework?
От: IB Австрия http://rsdn.ru
Дата: 09.07.14 22:58
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Продолжай верить, это путь к успеху.

Хочешь померяться успехами?
Мы уже победили, просто это еще не так заметно...
Re[16]: Почему вы НЕ используете Entity Framework?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.14 23:47
Оценка:
Здравствуйте, IB, Вы писали:

IB>Здравствуйте, gandjustas, Вы писали:


G>>Нет, это базовый сценарий. Им пользуется на 3 порядка больше людей, чем всем linq2db и dapper вместе взятыми.

IB>Похоже у тебя не правильное понятие "базового сценария". Впрочем, мы это выяснили еще в прошлый раз.
Вот базовые сценарии, который дает нам ASP.NET:
1) Сделать один сложный запрос с проекциями, фильтрами итп, чтобы сформировать объект модели для отображения. Тут можно ручками написать join в linq, это аж одна строка.
2) Замапить данные формы на объект, который сохранить в базе. Тут нужен identity map, но совершенно нет необходимости тянуть связанные объекты.

Единственное место, где мне пригодилось выполнять .Include — в WebAPI контроллере, который отдавал "заказы с позициями", но это априори тяжелым запросом было.
В большинстве случаев доставался или один "заказ с позициями", поэтому лишняя сортировка в плане ни на что не влияла, или "список заказов", совершенно без затягивания лишних элементов.



G>>Нескольких это пяти? или шести?

IB>Да хоть одного, какая разница сколько их?
Ты конечно не поверишь, но у подавляющего большинства базовые сценарии, как я описал выше. А твой базовый сценарий встречается у двух с половиной человек.

G>>Приводи конкретные примеры.

IB>Да привели тебе уже пример, просто в твоей реальности он не релевантен. Ну нет, так нет. Для тех целей, для которых мы используем ORM — этого примера вполне достаточно, для того чтобы EF дальше даже не рассматривать. Однако в твоих сценариях это норма — ну значит такие сценарии...
Чукча не читатель? Ты прочитай, поймешь что эта проблема обходится одной строчкой. Отсутствие identity map стоит гораздо дороже во многих случаях
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.