基于.net webapi 搭建的项目后台管理框架(2)

 基于.net webapi 搭建的项目后台管理框架(1)_霍先生的虚拟宇宙网络的博客-CSDN博客

实现通过上下文访问mysql 数据库:

接上一篇文章。创建models 文件夹。创建MyDbContext类。

using HcyWebAPI.Models;
using Microsoft.EntityFrameworkCore;

namespace HcyWebAPI
{
    public class MyDbContext : DbContext
    {
        public DbSet<Account> Account { get; set; }
        public DbSet<Dept> Dept { get; set; }

        public string DbPath { get; private set; }
        public string connectStr = GetConnectionString(); //"server=localhost;userid=root;password=root;database=hcywebapidb;";


        private static string GetConnectionString()
        {

            var builder = new ConfigurationBuilder()
                   .SetBasePath(Directory.GetCurrentDirectory())
                   .AddJsonFile("appsettings.json");
            var config = builder.Build();
            var commonurl = config["ConnectionStrings"];
            return commonurl;
        }

        public MyDbContext()
        {
            var folder = Environment.SpecialFolder.LocalApplicationData;
            var path = Environment.GetFolderPath(folder);
            DbPath = connectStr;

        }
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseMySql(connectStr, MySqlServerVersion.LatestSupportedServerVersion);
        }

        // controller 使用方式
        // var contextOptions = new DbContextOptionsBuilder<MyDbContext>().UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=Test").Options;
        // var context = new ApplicationDbContext(contextOptions);

        /// <summary>
        /// 传入option 使用
        /// </summary>
        /// <param name="options"></param>
        public MyDbContext(DbContextOptions<MyDbContext> options) : base(options)
        {

        }
    }
}

同时创建account 实体类

using System.ComponentModel.DataAnnotations.Schema;

namespace HcyWebAPI.Models
{
    public class Account
    {
        public int Id { get; set; }
        public string? Username { get; set; }
        public string? Password { get; set; }

        [Column("dept_id")]
        public int? DeptId { get; set; }

        [Column("create_time")]
        public DateTime CreateTime { get; set; }
    }

}

 数据文件配置:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "urls": "https://*:9099;http://*:9089",
  "ConnectionStrings":"server=127.0.0.1;userid=root;password=root;database=hcywebapidb;"
 
}

猜你喜欢

转载自blog.csdn.net/u010919083/article/details/129800231