Я знаю, что этот вопрос задавался много раз прежде, так как я прочитал довольно много постов на тему о плюсах и минусах и т. Д., Но я все еще не могу решить, какой подход мне подходит.Я очень новичок в веб-программировании и пришел из базы данных администратора базы данных SQL.Я решил попробовать создать свой собственный веб-сайт, который может иметь 30-40 таблиц, а может и больше в будущем.
Я рассмотрел оба подхода и предпочитаю подход Entity Model только потому, что мне нравится простотадизайнера, и мне нравится видеть всю модель перед собой, она показывает общую картину в одном снимке.Кроме того, я не являюсь сильным программистом, и я впечатлен тем, как он генерирует POCO с использованием шаблона генератора DbContext и выполняет все связи между классами.
Однако, хотя мне нравится подход Model First, я чувствую себя тамЕсть некоторые недостатки, я не уверен, являются ли они реальными недостатками, или я просто не знаю достаточно о подходе модель первый и подход сначала код, так как я все еще очень новичок в этом.
Причины, по которым я не решаюсь использовать подход Model First:
- В основном потому, что я изо всех сил пытаюсь найти учебники по подходу Model first, используя MVC 3. Лучший учебник, который я нашел, используяDbContext принадлежит Джули Лерман, но она не охватывает классы собеседников, которые важны для использования аннотаций данных и внесения других изменений, которые не теряются при регенерации POCO.Кажется, что в большинстве учебных пособий, связанных с MVC 3, сначала используется подход Code.Большинство людей говорят, что это потому, что репетитор не хочет фокусироваться на EF, а скорее показывает больше MVC в рекламе.Я лично думаю, что это потому, что Microsoft отстаивает методологию Code First над другими:)
-Если это хорошая практика для создания классов друзей, почему я не могу найти много учебных пособий, показывающих это для MVC 3?Классы друзей - другое название для моделей представления?И почему я не могу найти какие-либо учебники от Microsoft, показывающие эти модели приятелей / представлений, используемые с MVC 3?
- я пытался установить базовое соотношение 1 к 1 между 2 таблицами.Сначала в модели вы должны установить идентичные ключи каждой таблицы в одно и то же поле, а не использовать FK в одной из таблиц, что может немного запутать, если у вас есть 3 или более таблиц, связанных между собой отношениями 1: 1.,Сначала в коде можно использовать построитель моделей и настроить его вручную.Я думаю, что в MF вы можете изменить отношения, войдя в XML, который я совсем не заинтересован в
-Больше поддержки / помощи при первых проблемах с кодом
ПричиныЯ не решаюсь использовать подход Code First:
- Я начинающий программист.
- Мне кажется, что по мере расширения проекта становится трудно отслеживать таблицы и взаимосвязи.
- Диаграммы моделей нет, и я должен сказать, что мне действительно нравится эта идея.
- Отображение сущностей в базу данных с помощью классов конфигурации, которые я считаю невозможными:).
- Обновление таблицы потребует изменения кода и БД.В Model first только одно изменение в модели, которое автоматически обновит DB и Code, сказав, что если вы используете классы собеседников, вам, возможно, придется обновить их.
Также теперь я вижу, что люди несколько объединяютCode First и Database first подходят тем, что вы не позволяете Code First сгенерировать вашу базу данных, а создаете базу данных вручную и используете API first code для EF, чтобы добраться до нее.
У меня кружится голова со всеми вариантами и недостатками, плюсами и минусами.Я просто хочу заняться созданием своего сайта, а не размышлять над тем, какой подход выбрать.Кто-нибудь может дать мне некоторое представление о том, какой подход, по их мнению, лучше всего основан на том, что я сказал, и / или что, по их мнению, будет более популярным в будущем?
Большое спасибо, Дейв