Целесообразно ли запустить новое крупное корпоративное веб-приложение с linq2sql в 2012 году - PullRequest
2 голосов
/ 04 марта 2012

Каков текущий статус linq2sql и целесообразно ли его использовать до сих пор?

Я собираюсь начать очень большой проект, и у меня достаточно опыта с ним.

Однако я не хочу избегать EF, если это действительно путь. Мне нравится простота linq2sql.

Ответы [ 3 ]

6 голосов
/ 04 марта 2012

По моему мнению: нет.

Почему?

  • EF в v4 так же легко начать, как Linq-to-SQL

  • EF 4 также имеет возможность делать более сложные и сложные вещи - если вам нужно.Не повезло в Linq-to-SQL, на самом деле - это простота - все, что есть - никаких расширенных возможностей

  • EF 4 имеет различные подходы к построению вашей системы - только в Linq-to-SQL«база данных сначала»

  • EF 4 позволяет обновить модель (если вы используете подход, основанный на базе данных), если ваша базовая база данных когда-либо изменится -Есть ли какие-либо изменения, это может ??Не повезло с Linq-to-SQL - отбросьте таблицу и перетащите ее обратно;Не повезло, если вы изменили имена таблиц или столбцов или добавили дополнительные, например, ассоциации ...

  • Linq-to-SQL - это действительно больше подтверждение концепции, демонстрирующей возможности LINQ, разработанный командой языка C #.Он никогда не был полноценным ORM.EF, с другой стороны, был разработан группой специалистов по базам данных ADO.NET и должен был стать реальной ORM / концептуальной моделью данных корпоративного уровня.Linq-to-SQL не увидит дальнейшего развития, о котором можно было бы говорить - возможно, исправление здесь или там.EF, с другой стороны, является стратегической платформой Microsoft - они вложат значительные средства в нее и продолжат разработку здесь (см., Например, «Миграции EF» для автоматического обновления схемы базы данных из кода).

Мое личное мнение: если вы начинаете новый и вы используете .NET 4 (или можете пойти с ним): переходите с EF v4 .Вы не ошибетесь, у вас есть все тонкости Linq-to-SQL - и еще немало, если они понадобятся вам когда-нибудь в будущем ....

4 голосов
/ 04 марта 2012

Лично я бы постарался сделать так, чтобы уровень базы данных был деталью реализации, позади модели представления, уровня репозитория и других подобных устройств. Тогда единственный вопрос:

это работает?

На что ответ, вероятно, будет "да", но, абстрагируясь, вы можете изменить его без особого риска / переделки. Возможно, для «более полных» ORM (NH, EF, LLBLGen и т. Д.) - или, возможно, для более легких микро-ORM (dapper, simple.data, массив и т. Д.).

Если L2S позволяет быстро приступить к работе, нет причин его использовать. Возможно, сейчас это не мой первый выбор, но это хороший инструмент, и я считаю его более интуитивным, чем EF, во многих областях.

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

1 голос
/ 04 марта 2012

Linq-2-SQL мертв ... независимо от того, что вы слышите вокруг http://blogs.msdn.com/b/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...