基于.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;"
}