ASP.NET Core MVC 中的 Model 模型

ASP.NET Core MVC 中的 Model

 

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

18 118 2

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

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

C#

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

除了表示數據的 Student 類之外,模型還包含管理模型數據的類。 爲了管理數據,即檢索和保存學生數據,我們將使用以下IStudentRepository服務。 目前,我們只有一個方法**GetStudent()**通過 ID 查詢學生。 隨着課程的進行,我們將添加創建,更新和刪除方法。

 public interface IStudentRepository
    {
        Student GetStudent(int id);

    }

C#

以下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 = "[email protected]" },
            new Student() { Id = 2, Name = "李四", ClassName = "二年級", Email = "[email protected]" },
            new Student() { Id = 3, Name = "王二麻子", ClassName = "二年級", Email = "[email protected]" },
            };
        }


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

C#

在我們的應用程序中,我們將針對 IStudentRepository 接口進行編程,而不是具體實現 MockStudentRepository。 這種接口抽象化是允許我們使用依賴注入,這反過來也使我們的應用程序靈活且易於單元測試。

歡迎添加個人微信號:Like若所思。

歡迎關注我的公衆號,不僅爲你推薦最新的博文,還有更多驚喜和資源在等着你!一起學習共同進步!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章