Entity Framework Core - 使用入門


Entity Framework Core 2.0 新特性: https://www.cnblogs.com/stulzq/p/7366044.html
Entity Framework Core 2.0 使用入門: https://www.cnblogs.com/stulzq/p/7717873.html
Entity Framework Core 2.0 使用代碼進行自動遷移: https://www.cnblogs.com/stulzq/p/7729380.html

補充

通過NuGet安裝 EF Core

EF實體框架有3種類型,Data FirstModel FirstCode First

從項目實體文件生成數據庫表的命令 (Code First)

  • 第一步:需要引入的NuGet包
    images_01.png

    • Microsoft.EntityFrameworkCore
    • Microsoft.EntityFrameworkCore.Tools(EF工具包,創建實體)
    • 數據庫驅動
      • Sql Server 請安裝 Microsoft.EntityFrameworkCore.SqlServer
      • MySql/MariaDB請安裝Pomelo.EntityFrameworkCore.MySql (2.0及以上版本)
      • 其他數據庫請查看https://docs.microsoft.com/zh-cn/ef/core/providers/
  • 第二步: 生成實體文件DBContext(數據庫上下文) 見文章

  • 第三步:通過遷移來創建數據庫,需在工具->NuGet包管理器->程序包管理器控制台選擇執行命令所在的項目下輸入以下命令

    Add-Migration init
    

    遷移成功可以看見在項目根目錄下添加了一個Migrations文件夾

  • 更新遷移到數據庫,執行命令

    Update-Database
    

然后刪除Migrations文件夾即可

從數據庫表生成項目實體文件的命令 (DB First)

  • 需要引入的NuGet包
    images_01.png

    • Microsoft.EntityFrameworkCore
    • Microsoft.EntityFrameworkCore.Tools(EF工具包,創建實體)
    • 數據庫驅動
      • Sql Server 請安裝 Microsoft.EntityFrameworkCore.SqlServer
      • MySql/MariaDB請安裝Pomelo.EntityFrameworkCore.MySql (2.0及以上版本)
      • 其他數據庫請查看https://docs.microsoft.com/zh-cn/ef/core/providers/
  • 需在工具->NuGet包管理器->程序包管理器控制台中選擇執行命令所在的項目下輸入以下命令

    Scaffold-DbContext "Server=.;database=test;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
    

    Scaffold-DbContext "Data Source=rdsqjywf72g48u7zrw5alo.sqlserver.rds.aliyuncs.com,3433; Database=chehuoyiv3-dev; User ID=chy_dev; Password=Chy123456;"  Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
    

    命令格式為:
    Scaffold-DbContext "數據庫連接字符串" EF組件名(Microsoft.EntityFrameworkCore.SqlServer/Pomelo.EntityFrameworkCore.MySql/等等) -OutputDir 輸出文件夾名稱

[補充]
添加Nuget包方式 :
方式一:在Nuget包管理器中搜索,例如搜索:Microsoft.EntityFrameworkCore.SqlServer,然后安裝
方式二:在程序包管理器控制台中輸入Install-Package Microsoft.EntityFrameworkCore.SqlServer (可能不成功)


免責聲明!

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



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