MVC Framework - modele

Za zarządzanie danymi aplikacji odpowiada komponent „Model”. Odpowiada na żądanie z widoku, a także odpowiada na instrukcje administratora, aby się zaktualizować.

Klasy modelu można tworzyć ręcznie lub generować na podstawie jednostek bazy danych. W następnych rozdziałach zobaczymy wiele przykładów ręcznego tworzenia modeli. Dlatego w tym rozdziale wypróbujemy drugą opcję, tj. Generowanie z bazy danych, abyś miał praktyczne doświadczenie w obu metodach.

Utwórz jednostki bazy danych

Połącz się z SQL Server i utwórz nową bazę danych.

Teraz uruchom następujące zapytania, aby utworzyć nowe tabele.

CREATE TABLE [dbo].[Student]( 
   [StudentID]      INT           IDENTITY (1,1) NOT NULL, 
   [LastName]       NVARCHAR (50) NULL, 
   [FirstName]      NVARCHAR (50) NULL, 
   [EnrollmentDate] DATETIME      NULL, 
   PRIMARY KEY CLUSTERED ([StudentID] ASC) 
)  

CREATE TABLE [dbo].[Course]( 
   [CourseID] INT           IDENTITY (1,1) NOT NULL, 
   [Title]    NVARCHAR (50) NULL, 
   [Credits]  INT           NULL, 
   PRIMARY KEY CLUSTERED ([CourseID] ASC) 
)  

CREATE TABLE [dbo].[Enrollment]( 
   [EnrollmentID] INT IDENTITY (1,1) NOT NULL, 
   [Grade]        DECIMAL(3,2) NULL, 
   [CourseID]     INT NOT NULL, 
   [StudentID]    INT NOT NULL, 
   PRIMARY KEY CLUSTERED ([EnrollmentID] ASC), 
      CONSTRAINT [FK_dbo.Enrollment_dbo.Course_CourseID] FOREIGN KEY ([CourseID]) 
   REFERENCES [dbo].[Course]([CourseID]) ON DELETE CASCADE, 
      CONSTRAINT [FK_dbo.Enrollment_dbo.Student_StudentID] FOREIGN KEY ([StudentID]) 
   REFERENCES [dbo].[Student]([StudentID]) ON DELETE CASCADE 
)

Generuj modele przy użyciu jednostek bazy danych

Po utworzeniu bazy danych i skonfigurowaniu tabel możesz przejść dalej i utworzyć nową pustą aplikację MVC. Kliknij prawym przyciskiem myszy folder Modele w projekcie i wybierz Dodaj → Nowy element. Następnie wybierz Entity Data Model ADO.NET.

W następnym kreatorze wybierz Generuj z bazy danych i kliknij Dalej. Ustaw połączenie z bazą danych SQL.

Wybierz bazę danych i kliknij Testuj połączenie. Pojawi się ekran podobny do poniższego. Kliknij Następny.

Wybierz tabele, widoki oraz procedury i funkcje składowane. Kliknij Finish. Zobaczysz utworzony widok modelu, jak pokazano na poniższym zrzucie ekranu.

Powyższe operacje spowodowałyby automatyczne utworzenie pliku modelu dla wszystkich jednostek bazy danych. Na przykład utworzona przez nas tabela Student spowoduje powstanie pliku Model Student.cs z następującym kodem -

namespace MvcModelExample.Models { 
   using System; 
   using System.Collections.Generic; 
     
   public partial class Student { 
      
      public Student() { 
         this.Enrollments = new HashSet(); 
      } 
     
      public int StudentID { get; set; } 
      public string LastName { get; set; } 
      public string FirstName { get; set; } 
      public Nullable EnrollmentDate { get; set; } 
      public virtual ICollection Enrollments { get; set; } 
   } 
}