EFCore分表實現( 二 )

跨上下文使用事務這里需要主要的是,跨上下文使用事務必須使用同一個連接,所以optionsBuilder.UseSqlServer(connection);這里的寫法改變一下,使用同一連接
DbContextOptionsBuilder<DbContextBase> optionsBuilder = new DbContextOptionsBuilder<DbContextBase>();IDbConnection connection = new SqlConnection("connStr");optionsBuilder.UseSqlServer(connection);var options =optionsBuilder.Options;using (var dbContext = new DbContextBase("202209", options)){using (vartransaction =await dbContext.Database.BeginTransactionAsync()){using (var dbContext2 = new DbContextBase("202210", options)){await dbContext2.Database.UseTransactionAsync(transaction);//TODO....transaction.Commit();}}}總結EFCore分表的實現大致全是這樣 , 沒有什么區別 ??梢詤⒖家恍╅_源的框架,對現有的系統進行適當的調整,畢竟別人寫的并不一定適合你 。希望這篇文章可以幫到你 。

推薦閱讀