LINQ или что-то еще? - PullRequest
       44

LINQ или что-то еще?

1 голос
/ 12 июля 2011

Я недавно покинул небольшую компанию, где мы писали приложения .NET MVC, используя LINQ2SQL для доступа к данным, чтобы занять новую позицию.Здесь они все еще используют веб-формы и собственноручно написанный ORM, но надеются перейти на MVC и, возможно, на LINQ2SQL здесь в ближайшем будущем.Мне лично все понравилось в LINQ2SQL, за исключением проблем, с которыми вы сталкиваетесь при внесении изменений в таблицу (добавление столбца или чего-то еще) и необходимости каждый раз перегенерировать файл dbml.

1) Эта проблема уже решена, или кто-нибудь знает, планирует ли Microsoft решить эту проблему?

2) Если мы собираемся использовать что-то иное, кроме LINQ2SQL, для нашего новогоСлой доступа к данным, что бы все предлагали?

Ответы [ 4 ]

4 голосов
/ 12 июля 2011

Текущий толчок MS направлен к Entity Framework.Зачем?Потому что, откровенно говоря, LINQ to SQL был добавлен из-за задержки EF.Я люблю LINQ как средство «итерации» (не совсем верно, поскольку он работает на rX вместо перечислений, но это, вероятно, становится слишком технически специфичным).

Если вы хотите идти туда, где находится MSНаправляясь, я бы нацелился на EF.Лично я нахожу некоторые проблемы в текущей итерации, но она становится лучше.Ваш пробег может отличаться.

Если это не способ доступа к данным, я бы рассмотрел нестандартный ИЛИ Mapper.Их существует множество, многие из которых имеют долгую историю и достаточно стабильны, чтобы рекомендовать их для использования на предприятии (например, nHibernate).Поддержание пользовательского OR Mapper - это больше работы, чем должна выполнить команда, если только это не является абсолютно необходимым.

1 голос
/ 12 июля 2011

Это может стать субъективным, но если (1) является проблемой, и вы можете выбрать сторонний продукт, Developer Express Express Persistent Objects предлагает интересное решение.Это позволяет прозрачные обновления базы данных, где это возможно, при изменении модели.Он существует уже очень давно и стабилен.

Entity Framework теперь продвигается Microsoft как их ORM, более старая технология LINQ to SQL быстро устарела.EF находится в стадии серьезного развития и, несомненно, улучшится.

Вы определенно хотите отказаться от внутреннего ORM.

0 голосов
/ 12 июля 2011

Entity Framework позволяет обновлять из базы данных. Все, что вам нужно сделать, это щелкнуть правой кнопкой мыши в файле edmx и выбрать «Обновить модель из базы данных». Это быстрая замена Linq2SQL, и вы можете получить к нему доступ таким же образом. Есть только несколько небольших изменений между ними.

0 голосов
/ 12 июля 2011
  1. Ну, последняя версия Entity Frameworks поддерживает «сначала код», где база данных создается автоматически из ваших бизнес-объектов. Но модель все еще должна быть восстановлена ​​всякий раз, когда модель изменяется. Так что я не совсем уверен, что вы ищете здесь.

  2. Структуры сущностей.

...