歡迎光臨
每天分享高質量文章

【18】ASP.NET Core MVC 中的 Model介紹

 

 

ASP.NET Core MVC 中的 Model

在本影片中,我們將透過一個示例討論 ASP.NET Core MVC 中的 Model。

我們希望最終從 Student 資料庫表中查詢特定的學生詳細資訊並顯示在網頁上,如下所示。

 

MVC 中的模型包含一組表示資料的類和管理該資料的邏輯。 因此,為了表示我們想要顯示的學生資料,我們使用以下 Student 類。

public class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string ClassName { get; set; }
    }

ASP.NET Core 中的模型類不必位於 Models 檔案夾中,但將它們儲存在名為 Models 的檔案夾中是一種很好的做法,因為以後更容易找到它們。

除了表示資料的 Student 類之外,模型還包含管理模型資料的類。 為了管理資料,即檢索和儲存學生資料,我們將使用以下IStudentRepository服務。 目前,我們只有一個方法 GetStudent()*透過 ID 查詢學生。 隨著課程的進行,我們將新增建立,更新和刪除方法。

 public interface IStudentRepository
    {
        Student GetStudent(int id);

    }

以下MockStudentRepository類提供了IStudentRepository介面的實現。 目前,我們正在對MockStudentRepository類中的Student 資料進行硬編碼。 在我們即將釋出的影片中,我們將為IStudentRepository介面提供另一種實現,該實現將從 SQL Server 資料庫中檢索資料。

 public class MockStudentRepository : IStudentRepository
    {
        private List<Student> _studentList;

        public MockStudentRepository()
        {
            _studentList = new List<Student>()
            {
            new Student() { Id = 1, Name = "張三", ClassName = "一年級", Email = "Tony-zhang@52abp.com" },
            new Student() { Id = 2, Name = "李四", ClassName = "二年級", Email = "lisi@52abp.com" },
            new Student() { Id = 3, Name = "王二麻子", ClassName = "二年級", Email = "wang@52abp.com" },
            };
        }


        public Student GetStudent(int id)
        {
            return _studentList.FirstOrDefault(a => a.Id == id);
        }

}

 


在我們的應用程式中,我們將針對 IStudentRepository 介面進行程式設計,而不是具體實現 MockEmployeeRepository。 這種介面抽象化是允許我們使用依賴註入,這反過來也使我們的應用程式靈活且易於單元測試。

我們將在下一個影片中詳細討論依賴註入。

贊(0)

分享創造快樂