3 причини використовувати перший дизайн коду з Entity Framework
1) Менше груби, менше набряку
Використання наявної бази даних для генерації файлу моделі .edmx та пов'язаних з ними моделей коду призводить до створення гігантської купи автоматично створеного коду. Ви благаєте ніколи не торкатися цих згенерованих файлів, щоб ви щось не зламали або зміни були перезаписані на наступне покоління. Контекст і ініціалізатор заклинаються разом і в цьому безладі. Коли вам потрібно додати функціональність до створених моделей, як-от обчислена властивість лише для читання, потрібно розширити клас моделі. Це в кінцевому підсумку є вимогою майже для кожної моделі, і ви розширюєте все.
З кодом спочатку моделі, кодовані вручну, стають вашою базою даних. Точні файли, які ви будуєте, - це те, що генерує дизайн бази даних. Немає додаткових файлів і немає необхідності створювати розширення класу, коли ви хочете додати властивості або будь-що інше, про що базі даних не потрібно знати. Ви можете просто додати їх до одного класу, дотримуючись належного синтаксису. Чортів, ви навіть можете створити файл Model.edmx для візуалізації коду, якщо хочете.
2) Великий контроль
Коли ви перейдете до БД спочатку, ви вирішили те, що створюється для ваших моделей для використання у вашій програмі. Інколи конвенція про іменування є небажаною. Іноді стосунки та асоціації - це не зовсім те, чого ти хочеш. Інші випадки, коли не минущі стосунки із ледачим завантаженням, загрожують вашим реакціям API.
Незважаючи на те, що майже завжди існує рішення проблем, пов'язаних з генерацією моделі, з якими ви можете зіткнутися, спочатку код надає вам повний і тонкий зернистий контроль з початку руху. Ви можете контролювати кожен аспект як вашої моделі коду, так і дизайну вашої бази даних, виходячи з комфорту вашого бізнес-об’єкта. Ви можете точно вказати відносини, обмеження та асоціації. Ви можете одночасно встановлювати обмеження символів властивості та розміри стовпців бази даних. Ви можете вказати, які пов’язані колекції потрібно завантажувати чи взагалі не серіалізувати. Коротше кажучи, ви відповідаєте за більше матеріалів, але ви повністю контролюєте дизайн своєї програми.
3) Контроль версій бази даних
Це великий. Версія баз даних складна, але з першим кодом та міграцією коду це набагато ефективніше. Оскільки схема вашої бази даних повністю базується на ваших моделях коду, керуючи версією вихідного коду, ви допомагаєте версії вашої бази даних. Ви несете відповідальність за контроль за своєю ініціалізацією контексту, що може допомогти вам зробити такі речі, як набір фіксованих бізнес-даних. Ви також відповідальні за створення перших міграцій коду.
Під час першого ввімкнення міграцій створюється клас конфігурації та початкова міграція. Початкова міграція - ваша поточна схема або ваша базова лінія v1.0. З цього моменту ви будете додавати міграції, розмічені з позначками часу та марковані дескриптором, щоб допомогти впорядкувати версії. Коли ви зателефонуєте на додавання міграції з менеджера пакунків, буде створений новий файл міграції, що містить все, що змінилось у вашій кодовій моделі автоматично, як у функціях UP (), так і DOWN (). Функція UP застосовує зміни до бази даних, функція DOWN видаляє ті самі зміни у випадку, коли ви хочете відкатати. Більше того, ви можете редагувати ці файли міграції, щоб додати додаткові зміни, такі як нові представлення даних, покажчики, збережені процедури та все інше. Вони стануть справжньою системою версій для вашої схеми бази даних.