Podejście Code First w MVC: wszystko, co musisz wiedzieć

Opublikowany: 2021-02-25

Spis treści

Co to jest podejście Code First?

Pierwsze podejście do kodu w MVC jest wprowadzane z Entity Framework 4,1. Podejście code first jest używane głównie w projektowaniu opartym na domenie. W tym podejściu rozważana jest domena aplikacji. Klasy są tworzone zgodnie z jednostką domeny zamiast bazy danych. Następnie wykonano badania, które pasują do projektu bazy danych. Poniższy diagram ilustruje pierwsze podejście do kodu w MVC.

Code First Approach w MVC

Jak widać na rysunku, struktura encji tworzy lub aktualizuje bazę danych w zależności od klas domen. W związku z tym użytkownik musi najpierw kodować, a następnie framework encji utworzy bazę danych przy użyciu kodu. Dlatego nazywa się to podejściem „code first”.

Przepływ pracy Code First

Pierwsze podejście do kodu w MVC jest zgodne z przepływem pracy z następującymi krokami:

  • Utwórz klasy oparte na domenie
  • Skonfiguruj utworzone klasy domeny
  • Zaktualizuj lub utwórz bazę danych dla klas domen.

Konfiguracja klas domen odbywa się za pomocą Fluent API, a aktualizacja bazy danych odbywa się za pomocą automatycznej migracji.

Kiedy używać podejścia Code First w MVC?

  • Kiedy baza ma zostać utworzona.
  • Kiedy wniosek ma być sporządzony od podstaw.
  • Kiedy operacje, takie jak tworzenie i usuwanie widoków, tabel i procedur przechowywanych.
  • Gdy baza danych zawiera wiele tabel, procedur składowanych i pomysłów.

Wcześniej wprowadzenie kodu pierwszego podejścia w MVC , powszechnie używane podejście DB First . Podejście DB first ma swoje zalety i może być preferowane nad podejściem code first w poniższych przypadkach:

  • Gdy baza danych jest już utworzona w projekcie.
  • Gdy projekt nie obejmuje wielu aktualizacji w tabelach lub widokach.
  • Kiedy projekt jest mały.

Jak korzystać z podejścia Code First w MVC?

Przed użyciem kodu pierwszego podejścia, należy wykonać kilka kroków, jak podano poniżej:

1. Utwórz pustą bazę danych

  • Otwórz serwer SQL i połącz się z serwerem bazy danych.
  • W eksploratorze obiektów kliknij prawym przyciskiem myszy opcję Baza danych, aby utworzyć nową bazę danych.

2. Utwórz projekt MVC

  • Przejdź do Plik > Nowy projekt > Visual C# > Aplikacja sieci Web ASP .Net
  • Wprowadź nazwę rozwiązania i projektu i kliknij OK.
  • Kliknij MVC i zmień opcję uwierzytelniania na Indywidualne konta użytkowników.

3. Utwórz projekt biblioteki klas

  • Dodaj nowy projekt, klikając prawym przyciskiem myszy Eksplorator rozwiązań.
  • Przejdź do Visual C# > Windows > Biblioteka klas i podaj nazwę projektu jako ABC.DAL

4. Dodaj Entity Framework do projektu DAL utworzonego w poprzednim kroku.

  • Przejdź do projektu DAL > Zarządzaj pakietami NuGet > abc.DAL.
  • Przeglądaj i zainstaluj platformę Entity.

5. Implementacja Code First Approach

Rozważmy przykład biura, w którym wielu pracowników pracuje w wielu różnych działach. Jeśli projekt zakłada stworzenie aplikacji dla tego biura, można przeglądać i aktualizować dowolne informacje o pracowniku. Korzystając z podejścia code first, klasy zostaną najpierw zaprojektowane dla domeny biurowej. Rozważ dwa typy pracownika i działu, w których każdy pracownik jest powiązany z jednym działem.

Utwórz klasę Pracownik jak poniżej:

Pracownik klasy publicznej {

Public int EmpId { get; ustawić; }

Ciąg publiczny EmpName { get; ustawić; }

Publiczny float Wiek { get; ustawić; }

Public DateTime DateOfJoining { get; ustawić; }

Public float ExpInYears { get; ustawić; }

Departament Departamentu Publicznego { get; ustawić; }

}

Utwórz klasę Department jak poniżej:

Wydział klasy publicznej {

Public int DeptId { get; ustawić; }

Ciąg publiczny NazwaWydziału { get; ustawić; }

Public ICollection<Pracownik> Pracownik { get; ustawić; }

}

Kod najpierw używa klasy DbContext do wyprowadzania klasy kontekstu. Klasa kontekstu udostępnia DBSet, który jest kolekcją klas jednostek. Kod do tworzenia klasy kontekstu jest następujący:

Przestrzeń nazw EF6Console {

Klasa publiczna OfficeContext: DbContext {

Public OfficeContext(): base()

{

}

Public DbSet<Pracownik> Pracownik { get; ustawić; }

Public DbSet<Departament> Dział { get; Ustawić; }

}

}

Teraz, gdy klasa kontekstu jest tworzona, dodaj pracownika używając jej jak poniżej:

Przestrzeń nazw EF6Console {

Klasa ExProgram {

Statyczny void main(string[], args) {

using(var obj = newOfficeContext())

{

Var emp = new Employee() { EmployeeName = „Piotr” };

Obj.Pracownik.Dodaj(praca);

Obj.ZapiszZmiany();

}

}

}

}

Przeczytaj także: Pytania do wywiadu dotyczące obsługi wyjątków

6. Odnieś projekt DAL do projektu interfejsu użytkownika

  • Dodaj odwołanie, klikając prawym przyciskiem myszy odwołania projektu interfejsu użytkownika.

7. Włącz migrację

  • Przejdź do Narzędzia > Menedżer pakietów > Zarządzaj pakietami NuGet dla rozwiązania i uruchom poniższe polecenia:

Włącz-migracje

Dodawanie i migracja Tworzenie początkowe

Zaktualizować bazę danych

8. Dodaj kontroler

  • Przejdź do kontrolera > Dodaj > nowy kontroler i wybierz kontroler MVC 5 z widokami przy użyciu Entity Framework.
  • Wybierz klasę modelu, klasę kontekstu i stronę układu.

Ucz się kursów oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Wniosek

Korzystając z kroków udostępnionych w tym artykule, możesz użyć podejścia „najpierw kod” w MVC . Korzystając z podejścia „code first”, możesz utworzyć klasy i jednostki, a następnie zaktualizować bazę danych.

Jeśli chcesz dowiedzieć się więcej o tworzeniu pełnego stosu, sprawdź program Executive PG UpGrad i IIIT-B w zakresie tworzenia pełnego stosu oprogramowania, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Co to jest framework MVC?

MVC to skrót od Model-View-Controller. Jest to wzorzec projektowy używany w inżynierii oprogramowania. Pozwala na oddzielenie problemów, co ułatwia testowanie, zmianę i utrzymanie kodu. Model reprezentuje dane i logikę biznesową. Zwykle odbywa się to w osobnej warstwie poza interfejsem użytkownika. Widok to część aplikacji, którą użytkownik widzi i z którą wchodzi w interakcję. Jest to warstwa, którą faktycznie projektujemy, projektując interfejs użytkownika. Administrator decyduje, który kontroler jest najbardziej odpowiedni do obsługi każdego żądania. Gdy użytkownik wchodzi w interakcję z interfejsem użytkownika, wysyła żądanie do kontrolera. Kontroler obsługuje żądanie, a następnie wysyła odpowiedź z powrotem do interfejsu użytkownika.

Jakie jest podejście „code-first” w MVC?

W środowisku ASP.NET MVC podejście „code-first” to model programistyczny, w którym najpierw piszesz kod, który tworzy warstwę dostępu do danych, a następnie piszesz kod, który tworzy kontrolery i widoki. W podejściu code-first tworzysz model, który jest klasą reprezentującą dane w aplikacji. Następnie tworzysz warstwę dostępu do danych, która jest zestawem kodu, który odczytuje i zapisuje dane w magazynie danych. Należy zauważyć, że podejście oparte na pierwszym kodzie nie musi korzystać z bazy danych. Możesz użyć modelu „code-first” do tworzenia dowolnego rodzaju danych.

Jak zostać deweloperem MVC?

Jeśli chcesz zostać programistą MVC, musisz znać trochę C# lub Javę. To język komputerowy używany do pisania programów komputerowych. Dobrym pomysłem jest nauczenie się trochę HTML lub HTML5. HTML to język używany do pisania stron internetowych. Powinieneś nauczyć się trochę CSS. CSS to język używany do stylizowania stron internetowych. Ostatnim językiem, który powinieneś znać, jest JavaScript. JavaScript to język programowania używany do dodawania interaktywności do stron internetowych. MVC to akronim oznaczający kontroler widoku modelu. Model to sposób, w jaki informacje są przechowywane w komputerze. Widok to sposób wyświetlania informacji na ekranie. Kontroler jest częścią gry, która obsługuje informacje wejściowe i wyjściowe.