.NET6.0 API仓储+工作单元

.NET6.0 API仓储+工作单元

配置数据库

  1. 引入依赖包
    不同的数据库引入不同:

    • 公共依赖包:

        Microsoft.EntityFrameworkCore
        Microsoft.EntityFrameworkCore.Design
        Microsoft.EntityFrameworkCore.Tools
      
    • SqlServer:

        Microsoft.EntityFrameworkCore.SqlServer
      
    • Sqlite:

        Microsoft.EntityFrameworkCore.Sqlite
      
    • MySql:

        Pomelo.EntityFrameworkCore.MySql
      
  2. 配置连接字符串
    appsettings.json在这里插入代码片文件中加如下代码

{
   
  "ConnectionStrings": {
   
  	//sqlite
    "ToDoConnection": "Data Source=to.db" 
    //sqlserver
    "StudentDBConnection": "server=SKY-20161118TNS\\MYSQL2012;Initial Catalog=StudentDB;User ID=sa;Password=123456"  
    //mysql
    "DBConnection": "Server=195.168.1.21;Port=3306;Database=amicauniqidserver;Uid=root;Pwd=123456;"  
  },
  //mysql同时需要配置版本号
  "Custom": {
   
	  "mysqlVer": "8.0.28-mysql"
	}
}	
Program.cs代码配置
  // 配置数据库,sqlite数据库
builder.Services.AddDbContext<MyToDoContext>(option =>
    {
   
        var connectionStr = builder.Configuration.GetConnectionString("ToDoConnection");
        option.UseSqlite(connectionStr, b =>
        {
   
            b.MigrationsAssembly("MyToDoApi");
        });
    })

//配置数据库,sqlserver连接池

//加载sqlserver,采用数据库连接池
 var connectionStr = builder.Configuration.GetConnectionString("ToDoConnection");
builder.services.AddDbContextPool<AppDbContext>(option => 
{
   
	option.UseSqlServer(connectionStr);
})

//配置数据库,mysql工厂

//加载mysql,采用数据库连接工厂
var connection = host.Configuration.GetConnectionString("DBConnection");
//获取自定义配置参数(mysql版本号)
Config custom = host.Configuration.GetSection("Custom").Get<Config>();
services.AddDbContextFactory<AppDbContext>(
       optionsAction: options => options.UseMySql(connection, new MySqlServerVersion(custom.mysqlVer))
   );

配置工作单元

  1. 引入依赖包
    Microsoft.EntityFrameworkCore.UnitOfWork
  2. 自定义Context类
using Microsoft.EntityFrameworkCore;

public class MyDbContext : DbContext
{
   
    public MyDbContext (DbContextOptions<MyDbContext> optios) : base(optios)
    {
   

    }

	//以下为数据库表映射实体类的集合
    public DbSet<UserDto> UserDtos {
    get; set; }
    public 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值