使用 EF Core Power Tools 和 CoreAdmin 在 5 分钟内将管理员 CRUD 网页添加到您的 ASP.NET Core Web 应用程序

有时,也许在新产品/解决方案开发的早期阶段,您可能会发现自己需要一种简单的方法来让客户编辑解决方案中的某些数据。

一种方法是为现有数据库的简单数据输入创建一个管理页面。

在这篇文章中,我将展示如何使用EF Core Power Tools和开源社区库在几分钟内完成此操作。

EF Core Power Tools 让您可以在几分钟内创建对现有数据库进行数据访问所需的所有代码。

设置网络应用程序

首先,创建一个新的 ASP.NET Core 6 Web 应用程序,如果使用默认模板,它将类似于以下内容:

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddRazorPages();

var app = builder.Build();

if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapRazorPages();

app.Run();

现在,您可以针对现有数据库安装和运行EF Core Power Tools逆向工程。

此处提供了有关如何使用该工具的指南。

对于此示例,在文件Models夹中生成文件,并确保在您的项目中安装 EF Core 提供程序。

现在向文件添加一个连接字符串appsettings.Development.json(嵌套在 下appsettings.json):

{
  "DetailedErrors": true,
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "ConnectionStrings": {
    "Database": "Server=.\\SQLEXPRESS;Database=Chinook;Trusted_Connection=True;"
  }
}

MySQL示例:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DefaultConnection": "server=localhost;user=root;database=customerdb;port=3306;password=root"
  }
}

现在注册 DbContext 以供 ASP.NET Core 依赖注入使用。在之前添加此行var app = builder.Build();

builder.Services.AddSqlServer<ChinookContext>(builder.Configuration.GetConnectionString("Database"));

MySQL:

string dbConnectionString = builder.Configuration.GetConnectionString("DefaultConnection");


builder.Services.AddDbContext<CustomerdbContext>(options => options.UseMySql(dbConnectionString, ServerVersion.AutoDetect(dbConnectionString)));
builder.Services.AddCoreAdmin();

添加 CoreAdmin

CoreAdmin是由Ed Andersen创建的 NuGet 包,可在您的应用中启用管理页面。

用于 ASP.NET Core 的全自动管理站点生成器。添加一行代码,得到很多东西。特点包括:

  • 所有实体的数据网格
  • 在网格上搜索、过滤、排序等
  • 带有验证的 CRUD 屏幕
  • 图片上传的二进制支持
  • 外键导航
  • 降价编辑器
  • ...和一个很棒的黑暗主题!

要将 CoreAdmin 添加到您的应用程序,请在之前添加 AddCoreAdmin 行var app = builder.Build();

builder.Services.AddSqlServer<ChinookContext>(builder.Configuration.GetConnectionString("Database"));

builder.Services.AddCoreAdmin();

var app = builder.Build();

并在app.Run()之前添加这一行;

app.MapDefaultControllerRoute();

运行应用程序并导航到/CoreAdmin您拥有它 - 一个成熟的管理网页!

自述文件中描述了许多配置和安全选项。

MySQL的Program.cs

using WebApplication4.Models;
using Microsoft.EntityFrameworkCore;

var builder = WebApplication.CreateBuilder(args);
string dbConnectionString = builder.Configuration.GetConnectionString("DefaultConnection");


builder.Services.AddDbContext<CustomerdbContext>(options => options.UseMySql(dbConnectionString, ServerVersion.AutoDetect(dbConnectionString)));
builder.Services.AddCoreAdmin();


// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
}
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapRazorPages();
app.MapDefaultControllerRoute();

app.Run();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值