ASP.NET Core 项目实战(运行项目创建表)

创建工具类控制器

image.png
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using System.Reflection;

namespace WebApi.Controllers
{
    /// 
    /// 工具
    /// 
    [Route("api/[controller]/[action]")]
    [ApiController]
    public class ToolController : ControllerBase
    {
        public ISqlSugarClient _db;
        //注入 =》Program.cs =>builder.Register()=>HostBuilderExtend.cs
        public ToolController(ISqlSugarClient db) 
        {
            _db = db;
        }
        /// 
        /// 创建数据库
        /// 
        /// 
        [HttpGet]
        public string InitDataBase()
        {
            //1. 如果不存在数据库则创建数据库
            _db.DbMaintenance.CreateDatabase();
            //2. 创建表
            string nspace = "WebModel.Entitys";
            // 通过反射读取我们想要的类
            Type[] ass = Assembly.LoadFrom(AppContext.BaseDirectory + "Model.dll").GetTypes().Where(p => p.Namespace == nspace).ToArray(); 
            // 创建表的数量 最高 200个
            _db.CodeFirst.SetStringDefaultLength(200).InitTables(ass);
            // 初始化数据库数据 -- 测试使用  | 正式请删除
            string res = "ok";
            return res;
        }
    }
}

2.运行项目=》创建数据库

image.png

3.查看数据库是否创建成功(已成功创建)


image.png
image.png
image.png

EFcore 创建数据库

1.新建文件夹:Database
2.新建类:AppDbContext.cs

/// 数据库连接字符串
/// 
public class AppDbContext:DbContext
{
    public AppDbContext(DbContextOptions options):base(options)
    {

    }
    public DbSet TouristRoutes { get; set; } //注册旅游路线表

    public DbSet TouristRoutePictures { get; set; } //注册旅游路图片

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
    }



    //add-migration Init01  // 迁移数据库 命令
    //update-database      // 更新数据库 命令

}

Program.cs 注册数据库

// 数据库依赖注入
builder.Services.AddDbContext(options =>
{
    options.UseSqlServer(builder.Configuration["DbContext:ConnectionString"]);
});

你可能感兴趣的:(ASP.NET Core 项目实战(运行项目创建表))