Почему все Linq To Entities ненавидят?[закрыто]

StackOverflow https://stackoverflow.com/questions/55179

  •  09-06-2019
  •  | 
  •  

Вопрос

Я заметил, что к Linq To Entities, похоже, наблюдается некоторая враждебность, особенно со стороны ребят из Alt.Net.Я понимаю сопротивление большему количеству программ «перетаскивания», но, насколько я понимаю, Linq To Entities не требует этого.

В настоящее время мы используем Linq to SQL, и для его определения мы используем документ DBML (если вы получаете более дюжины таблиц или около того, дизайнер становится совершенно бесполезным).

Так почему же тот же подход не сработает для Linq To Entities?

Это было полезно?

Решение

Я не думаю, что это ненависть к идея этого как такового.Просто людям не нравится выполнение этого.

http://efvote.wufoo.com/forms/ado-net-entity-framework-vote-of-no-confidence/

Другие советы

На самом деле, как только вы начнете вникать в это, LTE станет совершенно бесполезным для фреймворков уровня предприятия.Тот факт, что поддержка наследования (в том числе и в LTS) очень слаба, приводит к появлению большого количества избыточного кода.Кроме того, я вернусь к LTS (Linq to SQL), поскольку он фактически позволяет определять сопоставления через атрибуты, а не через файл.LTE работает только с внешним файлом.

Ненависть Linq to Entity вполне заслужена.Этот продукт не справляется с более сложными задачами, чем те убогие демонстрации, для которых Гу использует его в своем блоге.EF еще далек от готовности к прайм-тайму.Microsoft просто не может получить правильные данные в мире .BLOAT, они, кажется, меняют парадигму данных каждый раз, когда дует ветер.FoxPro существует уже 20 лет с одним и тем же базовым ядром данных.Учитывая, что SQL Server использует большую часть технологии обработки данных VFP, возможно, MSFT могла бы узнать немного о манипулировании данными и языках, ориентированных на данные, на примере чего-то, что работало.

Мне очень нравятся принципы Linq to Entities и Entity Framework в целом, но у меня есть сомнения по поводу его текущего воплощения.Однако я открыто признаю, что не использовал его ни для чего, кроме самообразования и в очень небольших целях.Уровень гибкости, похоже, еще не достигнут, но я уверен, что он придет.Один из евангелистов технологий MS сказал мне (отличная должность), что EF — это стратегический выбор MS на будущее.Если предположить, что это так, я вижу только улучшение ситуации в этой сфере.

Также может быть немного враждебности «второго места».МС являются очень поздно вышел на рынок с L2E, я сам заинтересовался ORM около трех лет назад, и MS на тот момент нигде не было видно.

Многие из нас уже потратили время на изучение другого ORM (например, NHibernate) и привыкли к определенному уровню и типу доступных функций, и в L2E это еще не очевидно.

Честно говоря, эта враждебность «второго места» не старая новость. Я не знаю, почему MS не тратит больше времени на поддержку уже существующих решений, мы все это видели раньше с NAnt -> MSBuild и NUnit -> MsTest. , это сэкономило бы всем много времени и усилий, если бы они просто приняли одно из лучших и зрелых решений и попытались поддержать его, а не постоянно создавать свои собственные.

Я бы добавил, что реализация наследования TPT в LTE — не что иное, как преступление.Смотри мой вопрос здесь.

И пока я этим занимаюсь, я считаю, что многие опубликованные эксперты EF по крайней мере частично являются соучастниками.Мне еще предстоит найти какой-либо опубликованный материал по EF, который предостерегает от запросов базовых типов.Если бы я попробовал это на имеющейся у меня модели, SQL Server просто сдался бы с исключением.

Некоторая часть вашего заявления SQL слишком глубоко вложена.Перепишите запрос или разбивайте его на более мелкие запросы.

Я бы с удовольствием переписал запрос, но LTE освободил меня от этого бремени.Спасибо (^нет)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top