EF4, MVC 3, Azure и Code First или традиционный - PullRequest
1 голос
/ 09 января 2011

Я планирую создать веб-приложение с использованием ASP MVC3, который работает в Azure с серверной частью SQL Azure. Я хотел бы использовать стек Microsoft и не планирую когда-либо переходить на другой стек. Я смотрю на использование WCF и WF, но это будет в будущем.

Я посмотрел на традиционный и Code First подход к использованию Entity Framework, но не вижу, есть ли какое-либо преимущество в использовании того или иного подхода. Конечно, у каждого из них есть свои преимущества, но мне все равно, наследуют ли мои классы от классов EF. Все, что я хочу, - это найти наиболее эффективное решение.

Может ли кто-нибудь дать мне совет, какой подход может быть лучшим.

большое спасибо

Richard

Ответы [ 4 ]

1 голос
/ 09 января 2011

Это действительно больше вопрос для сбора мнений и, вероятно, больше относится к сайту программистов StackExchange, но я сделаю удар:

Я определенно традиционный парень,Для меня данные являются ключевыми.Это самое главное.Различные объекты, слои, приложения, сервисы приходят, уходят и развиваются.Но данные сохраняются.Вот почему я сначала проектирую свои базы данных.По моему опыту, данные всегда были королем.

0 голосов
/ 10 января 2011

Code First - это «архитектурно правильный» подход, но реальность имеет тенденцию к различию в этих вещах, когда нужно учитывать усилия, ценность и скорость развития.

Использование подхода «Модель сначала» намного быстрее и проще в обслуживании. Изменения в базе данных распространяются простым щелчком правой кнопки мыши «Regen from database», и вы не получите странных ошибок, проникающих в ваш код, когда вы забудете изменить имя или тип свойства.

Сказав, что вы можете получить и то, и другое с новой поддержкой POCO в EF4. Вы можете удалить зависимости от базовых классов, одновременно используя инструменты моделирования:

В этой теме много хороших ссылок:

Entity Framework 4 / POCO - с чего начать?

0 голосов
/ 10 января 2011

Код первый для меня тоже. Если вы вдруг начали ненавидеть Entity Framework и захотели перейти на NHibernate, у вас будет намного меньше работы.

Кроме того, существует более четкое разделение проблем путем полной изоляции уровня вашего домена от уровня доступа к данным.

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

Я уже упоминал, что код первый - намного меньше хлопот.

0 голосов
/ 09 января 2011

Я бы пошел с подходом Code First.

Этот замечательный пост в блоге Скотта Гатри объясняет его преимущества.

...