.Net Core 3.1使用EF連接數據庫


一.連接數據庫部分(EF)

1、代碼優先模式(Code First方式)

1.1安裝必要的NuGet包

(1)首先,我們打開vs中的NuGet包安裝以下的庫:

(2)Microsoft.EntityFrameworkCore.SqlServer(連接sql server數據庫的包)

(3)Microsoft.EntityFrameworkCore.Tools(命令行所需的庫)

(4)Microsoft.EntityFrameworkCore.Design(vs code命令行所需的庫,vs2019,不需要安裝)

1.2創建實體類

1.3創建DbContext.cs

using Microsoft.EntityFrameworkCore;

public class MyContext : DbContext

{

    public MyContext(DbContextOptions<MyContext> options) : base(options)

  {

    }

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

}

 

1.4 在appsettings.json文件中寫好連接字符串

  //連接的字符串

  "ConnectionStrings": {

  "SQLServerConnection": "Data Source=.;Initial Catalog=MyCoreWeb;Integrated Security=True"

  },

 

1.5  在Startup.cs文件中的ConfigureServices方法中引用,注入依賴

  //添加SQL Server連接

  services.AddDbContext<MyCoreWebContext>(options =>

  {

       options.UseSqlServer(Configuration.GetConnectionString("SQLServerConnection"));

});

 

1.6 數據庫遷移(程序包控制台命令如下)

需要輸入1、7兩個命令即可(Add-MigrationUpdate-Database

7.控制器中進行CURD 操作

        private MyCoreWebContext _context;

        public HomeController(MyCoreWebContext context)

        {

            _context = context;

        }

 

==END==

2、數據庫優先模式(DB First方式)

  1. 程序包控制台輸入命令(如果僅需要生成部分數據表,還可以通過將 -Tables 參數添加到上述命令來指定要為哪些表生成實體。例如 -Tables Blog,Post。多個數據表以逗號分隔
Scaffold-DbContext "數據庫連接字符串;" Microsoft.EntityFrameworkCore.SqlServer -OutPutDir DbModels

 

使用后會在項目中自動生成實體類以及Context,直接調用即可。

==END==

 

二.連接MySQL數據庫

需要兩個包,EFCore.ToolsMysql.Data.EFCore

(1)創建DB映射類

    public class MySQLDbContext:DbContext

    {

        public MySQLDbContext (DbContextOptions options) : base(options) { }

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

}

 

(2)在appsettings.json中設置連接字符串

"ConnectionStrings": {

    "MySQL": "Server = localhost; database=lc-student; uid=root; pwd=123456; SslMode=None",

    "SQLServer": "Data Source=DESKTOP-ABI75O3\\SQLEXPRESS;Initial Catalog=MyProjectDB;Integrated Security=True"

  }

 

 

 

(3)注入依賴

  string MySQLString = Configuration.GetConnectionString("MySQL");

 services.AddDbContext<MySQLDbContext>(options => options.UseMySQL(MySQLString));

 

(4)設置控制器

  private MySQLDbContext _dbcontext;

 

  public HomeController(ILogger<HomeController> logger, MySQLDbContext dbContext)

        {

            _logger = logger;

            _dbcontext = dbContext;

        }

 

 學習記錄,有錯誤會及時修改...


免責聲明!

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



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