學習ASP.NET Core Razor 編程系列二——添加一個實體


 學習ASP.NET Core Razor 編程系列目錄

 學習ASP.NET Core Razor 編程系列一

 

在Razor頁面應用程序中添加一個實體

       在本篇文章中,學習添加用於管理數據庫中的書籍的實體類。通過實體框架(EF Core)使用這些類來處理數據庫。EF Core是一個對象關系映射(ORM)框架,它簡化了編寫數據庫訪問的代碼。

       創建的實體類被稱為POCO類(“普通的CLR對象”)因為他們沒有在EF Core中有任何依賴。它們定義存儲在數據庫中的數據的屬性。

 

        一、添加一個實體類

  1. 在Visual Studio 2017的解決方案資源管理器中,右鍵單擊該RazorMvcBooks,在彈出菜單中選擇,項目-->添加-->新建文件夾,修改文件夾名稱為“Models”。如下圖。

 

       2. 鼠標右鍵單擊“Models”文件夾。在彈出菜單中選擇,添加-->類。類名為Book。如下圖。

 

       3.在book類中的代碼文件中添加以下屬性

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
 

namespace RazorMvcBooks.Models
{
    public class Book
    {

        public int ID { get; set; }
        public string Name { get; set; }
        public DateTime ReleaseDate { get; set; }
        public string Author { get; set; }
        public decimal Price { get; set; } 

    }
}

 

              其中ID字段必須是數據庫中表Book的主鍵。

         二、添加數據庫上下文類

             在Models文件夾中添加BookContext.cs類,繼承自DbContext,操作方式如上第2點中的圖所示,代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore; 

namespace RazorMvcBooks.Models
{

    public class BookContext:DbContext
    {
        public BookContext(DbContextOptions<BookContext> options)

                : base(options)
        {

        } 

        public DbSet<Book> Book { get; set; } 

    }
}

 

          之前的代碼中我們創建了一個DbSet<Book>類型的屬性Book.在實體框架中,實體集合通過對應數據庫中的表,實體對應表中的行。

        三、添加數據庫連接字符串

           在Visual Studio 2017中的資源管理器中找到appsettings.json文件,用鼠標雙擊打開,在文件中添加一個連接字符串,代碼如下。

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "ConnectionStrings": {
    "BookContext": "Server=.\\sqlexpress;Database=Books;Trusted_Connection=True;MultipleActiveResultSets=true"

  } 

}

            四、注冊數據庫上下文

          在Visual Studio 2017中的資源管理器中找到startup.cs文件,用鼠標雙擊打開,在startup.cs文件的ConfigureServices方法中寫入依賴注入容器注冊數據庫上下文的代碼,具體代碼如下。

using Microsoft.EntityFrameworkCore;
using RazorMvcBooks.Models; 

public void ConfigureServices(IServiceCollection services)
        {

            services.AddDbContext<BookContext>(options =>options.UseSqlServer(Configuration.GetConnectionString("BookContext")));
            services.AddMvc();
        }

 

            最后,在Visual Studio 2017中的菜單中選擇“生成-->生成解決方案”對項目進行編譯,以驗證自己寫的代碼沒有任何錯誤同。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM