google code prettify

2022年7月29日 星期五

[EF Core] ASP.NET Core 6, 如何使用DB First,存取現有的資料庫

IDE:Visual Studio 2022 
Framework:ASP.NET Core 6

使用Visual studio的套件管理器主控台,執行以下指令,將套件安裝起來

dotnet tool install --global dotnet-ef

dotnet add package Microsoft.EntityFrameworkCore.SqlServer (for Sql Server Provider)

dotnet add package Pomelo.EntityFrameworkCore.MySql (for MySql Provider)

dotnet add package Microsoft.EntityFrameworkCore.Design (To EF)

dotnet ef dbcontext scaffold "Server=[DB主機位置] Catalog=[Catalog名稱];Database=[Database名稱];
User=[DB帳號];Password=[DB密碼]
"Microsoft.EntityFrameworkCore.SqlServer" -o ./Models -c -f
執行完畢後,在Models目錄底下,資料庫自動轉成了EF。
在ASP.NET Core 6 需要到Program.cs 進行註冊,語法如下

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddTransient<DB註冊名稱>();

註冊之後就可以在其他類別注入DbContext,語法如下,

private readonly DB註冊名稱 _db

public TestController(DB註冊名稱 dbContext)
{
    _db = dbContext;
}

後續的EF操作,就跟MVC的EF版本差不多。


沒有留言:

張貼留言