想要使用 dotnet core 将 Sql 数据库架构转换为 EF Core 的人请按照以下步骤操作:
一个接一个地运行所有命令(第一个命令用于那些想要创建一个新项目的人,否则你可以忽略它并从你的项目根文件夹运行其他给定的命令)
dotnet new mvc -o <ProjectName>
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
dotnet add package Microsoft.EntityFrameworkCore.SqlServer.Design
dotnet add package Microsoft.EntityFrameworkCore.Tools
dotnet tool install --global dotnet-aspnet-codegenerator
终于……
dotnet ef dbcontext scaffold "Server=servername\instancename;Database=My_Database;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -o Models
这将在项目的模型文件夹中创建数据库架构的必要模型和上下文。
现在您可以通过应用以下命令轻松生成 CRUD 代码:
dotnet aspnet-codegenerator controller -name <MyNewController> -m <ModelName> -dc <MyDbContext> --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries
将 MyNewController 更改为您想要的控制器名称,将 ModelName 更改为您要定位的模型文件夹中的模型名称,最后更改为 MyDbContext系统生成的上下文文件名在 Models 文件夹中可用
但在运行该命令之前,请确保您已在项目文件夹中的 appsettings.json 和 startup.cs 文件中进行了必要的更改
appsettings.json在行后添加
“AllowedHosts”:“*”,
"ConnectionStrings": {
"MyDbConnection": "Server=servername\\instancename;Database=My_Database;Trusted_Connection=True;"
}
startup.cs 文件在行前添加
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddDbContext<SwiftRbs_LocalContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("MyDbConnection")));
享受!!