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