1. 程式人生 > >ASP.Net Core的Code Fist程式碼先行操作方法

ASP.Net Core的Code Fist程式碼先行操作方法

Asp.Net  core的Code Fist(程式碼先行)主要有以下幾步:

1.建立實體類

2.建立資料庫上下文

3.填加連線字串

4.依賴注入

5.新增基架工具並執行初始遷移

6搭建模型的基本架構(更具模型生成網頁Page)

首先需要在創建出實體類,此處以微軟官方文件中的Movice實體類為例。

右鍵單擊“Models”資料夾。 選擇“新增” > “類”。 將類命名為“Movie”,並新增以下屬性:

using System;

namespace RazorPagesMovie.Models
{
    public class Movie
    {
        public int ID { get; set; }
        public string Title { get; set; }
        public DateTime ReleaseDate { get; set; }
        public string Genre { get; set; }
        public decimal Price { get; set; }
    }
}

同時填加資料庫上下文

向“Models”資料夾新增名為 MovieContext.cs 的 DbContext 派生類。

using Microsoft.EntityFrameworkCore;

namespace RazorPagesMovie.Models
{
    public class MovieContext : DbContext
    {
        public MovieContext(DbContextOptions<MovieContext> options)
                : base(options)
        {
        }

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

填加連線字串

將連線字串新增到 appsettings.json 檔案。

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "ConnectionStrings": {
    "MovieContext": "Data Source=127.0.0.1;Initial Catalog=Movice;User Id=sa;Password=123456;" 
  }
}

註冊資料庫上下文

使用 Startup.cs 檔案中的依存關係注入容器註冊資料庫上下文。

public void ConfigureServices(IServiceCollection services)
{
    // requires 
    // using RazorPagesMovie.Models;
    // using Microsoft.EntityFrameworkCore;

    services.AddDbContext<MovieContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("MovieContext")));
    services.AddMvc();
}
此時生成專案如果沒有任何錯誤就可以進行命令列操作了。

新增基架工具並執行初始遷移

從“工具”選單中,選擇“NuGet 包管理器” > “包管理器控制檯”。

在PowerShell中分別輸入以下命令

Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design -Version 2.0.0
Add-Migration Initial
Update-Database
Install-Package 命令安裝執行基架引擎所需的工具。

Add-Migration 命令生成用於建立初始資料庫架構的程式碼。 此架構以(Models/MovieContext.cs 檔案中的)DbContext 中指定的模型為基礎。 Initial 引數用於為遷移命名。 可以使用任意名稱,但是按照慣例應選擇描述遷移的名稱。

Update-Database用於將以上操作儲存到資料庫中(生成資料庫)

搭建“電影”模型的基架

開啟專案目錄(包含 Program.cs、Startup.cs 和 .csproj 檔案的目錄)中的命令視窗。
執行下面的命令:

dotnet aspnet-codegenerator razorpage -m Movie -dc MovieContext -udl -outDir Pages\Movies --referenceScriptLibraries

下表詳細說明了 ASP.NET Core 程式碼生成器的引數:

測試應用

執行應用並將 /Movies 追加到瀏覽器中的 URL (http://localhost:port/movies)。

此時就可以開啟網頁了。