Обновление Enterprise Library (1.0) до LINQ или Entity framework

Мы работаем над проектом C# для Windows с корпоративной библиотекой 1.0, которую необходимо обновить до платформы LINQ или Entity. (.NET 3.5)

Приложение использует в основном соединения SQL в виде хранимых процедур и файлов XML для хранения настроек.

  1. Каковы плюсы и минусы LINQ и Entity framework в этом случае?
  2. Правдивы ли слухи о прекращении поддержки LINQ?
  3. Какой из них было бы наиболее эффективно изменить с учетом нашей установки?
  4. Любые хорошие отправные точки?
  5. Чего избегать?

person Mikelangelo    schedule 03.04.2009    source источник


Ответы (1)


Вот краткий обзор..

  1. Об этом задавали довольно часто. Вот предыдущие вопросы и ответы, и я ответил в основном этот же вопрос перед здесь - однако, чтобы быть более конкретным для вашего сценария. Мне нужно знать немного больше, чем то, что вы уже описали (например, помимо обновления/миграции с архитектуры Enterprise Library).

  2. Я думаю, вы имели в виду «Правдивы ли слухи о том, что LINQ to SQL будет прекращен?».. Это также обсуждалось ранее здесь, но краткий ответ не в ближайшем будущем.

  3. Вам нужно обсудить немного больше о ваших более широких планах. ИМХО, любой из них будет нормально работать в описанной вами архитектуре (не стесняйтесь предоставлять более подробную информацию). Задайте еще несколько вопросов, таких как ... вам когда-нибудь понадобится поддержка базы данных, отличной от SQL Server? Вы когда-нибудь использовали eSQL (Entity SQL) или просто придерживаетесь запросов на основе LINQ?

  4. Я бы предложил сначала создать доказательство концепции с выбранным вами ORM и перенести «вертикальный срез» функциональности, например. UI -> WS -> DAL и посмотрите, с какими проблемами вы столкнетесь. Я бы посоветовал вам подумать о том, как L2S или EF будут использоваться в вашей архитектуре. Особенно в отношении самих объектов, то есть отслеживания изменений.

  5. Не исключайте другие варианты, такие как NHibernate или использование шаблонов Codesmith для создания классов доступа к данным, если вы еще не выбрали L2S или EF.

person RobS    schedule 03.04.2009
comment
Мы обнаружили, что обновление до сущности или до Linq будет слишком много работы для начала, поскольку при изменении базового уровня нам придется изменить все, поэтому новая корпоративная библиотека, а затем модульные тесты, чтобы увидеть, что нужно исправить (этот проект тоже совершенно новый для нас, со старым кодом) - person Mikelangelo; 03.04.2009
comment
Удачи, это будет большой проект, но он может быть очень интересным! - person RobS; 03.04.2009
comment
Спасибо, не могли бы вы объяснить 4. я немного потерялся после ORM :) - person Mikelangelo; 06.04.2009