二、Entity Framework Core 3.1入門教程-建立數據庫和遷移

本文章是根據 微軟MVP solenovex(楊旭)老師的視頻教程編寫而來,再加上本身的一些理解。
視頻教程地址:https://www.bilibili.com/video/BV1xa4y1v7rR
GitHub源碼:https://github.com/hllive/LearnEFCore3.1git

一、概述

如何生成數據庫以及後來發生變化進行遷移github

生成遷移的流程

  • 一、建立Model至關因而要映射到數據庫中的表
  • 二、建立Migration遷移文件(對源碼版本控制友好)
  • 三、使用Migration遷移文件來生成數據庫或生成腳本

執行要求
AppDbContext 這個類是在Data類庫項目中,而Data項目類型是一個類庫,想讓EFCore生成數據庫或數據遷移的話,它必須有一個可執行文件,因此它這一個項目是不能執行的。
那麼就得須要依靠【Web應用程序】,它能生成可執行文件,就得經過它來生成數據庫。
除此以外,Migration還所需的安裝庫,(這兩個庫在上節中已經安裝)數據庫

  • 一、Microsoft.EntityFrameworkCore.Design
  • 二、Microsoft.EntityFrameworkCore.Tools

安裝好包後須要執行一些遷移用到的命令,遷移命令須要在【程序包管理器控制檯】中執行;怎麼打開程序包管理器控制檯:菜單中的【視圖】=>【其餘窗口】=>【程序包管理器控制檯】
在控制檯中的【默認項目】選爲Data,也就是包含AppDbContext類的項目

經過執行如下命令能夠查看幫助ide

get-help entityframework

經常使用的兩個命令版本控制

  • Add-Migration  添加一個遷移文件
  • Update-Database  把遷移文件應用到數據庫,執行數據庫的更新或建立

二、執行遷移

add-migration inital

inital是添加遷移文件的命名(能夠自定義)code

執行遇到如下錯誤

解決方案:將WebApi應用程序設爲啓用項目,選中【WebApi項目】右擊選擇【設爲啓用項目】視頻

再執行又遇到如下錯誤

解決方案:這個提示是說在WebApi項目中沒有安裝Microsoft.EntityFrameworkCore.Design,咱們在WebApi項目上安裝Microsoft.EntityFrameworkCore.Design包就能夠了
看到如下狀況這就是執行成功了

執行成功後在Data項目生成Migrations文件夾

第一個文件叫xxxx_inital文件就是咱們命名的遷移文件
xxxxModelSnapshot至關因而一個快照,這個文件很是重要,不能手動去改,EFCore使用這個文件來追蹤當前全部Model的變動狀態對象

三、生成數據庫或腳本

  • 一、Update-Database  將數據庫更新爲指定的遷移,能夠添加參數-verbose查看執行過程當中的一些明細
  • 二、Script-Migration  從遷移文件中生成一個腳本(一般在生產環境中使用)執行命令後會自動打開生成的腳本文件


看到Done結果就說明已經生成和更新數據庫成功,經過【SQL Serve對象資源管理器】能夠查看生成後的數據庫的狀況。blog

這種先寫Model再生成數據的辦法叫Code Frist(代碼優先)教程

博客文章能夠轉載,但不能夠聲明爲原創

相關文章
相關標籤/搜索