UnitOfWork - kuiyu/RsCode GitHub Wiki

使用[UnitOfWork] 为标记为virtual 的方法开启事务功能

默认使用连接字符串名称为DefaultDataString 的连接做为数据库连接

[UnitOfWork("otherDbConnStr")] 使用指定数据库,并开启事务

例:

1.Startup.cs中配置数据库

string connStr =Configuration.GetConnectionString("DefaultConnection"); 
services.AddDatabase<MySqlDatabaseProvider>(connStr);

2.Startup.cs,ConfigureServices()中添加 UnitOfWork服务

services.AddUnitOfWork();  

3.Program.cs,激活aspectcore

 public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseServiceContext(o => 
                {
                    var p = Predicates.ForService("Rswl.*");
                    o.AddDataAnnotations(p);
                 }) //激活aspectcore
                .ConfigureWebHostDefaults(webBuilder =>
                {
                     webBuilder
                    .UseStartup<Startup>();
                }) ;

使用时,注入IApplicationDbContext,从IApplicationDbContext中获取当前数据库连接

为方法标记[UnitOfWork]

数据库配置,可查看https://github.com/kuiyu/RsCode/wiki/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%93%8D%E4%BD%9C

⚠️ **GitHub.com Fallback** ⚠️