SmartSql = MyBatis in C# + .NET Core+ Cache(Memory | Redis) + R/W Splitting + PropertyChangedTrack +Dynamic Repository + InvokeSync + Diagnostics
1.1k
stars
222
forks
source link
1、为AssemblyAutoRegisterOptions.SmartSqlAlias设置默认值;2、仓储接口注册时,获取ISqlMapper实例都通过IServiceProvider.EnsureSmartSql方法获取 #215
Closed
xiangxiren closed 2 years ago
在注册多数据库实例情况下,如果没有使用UseAlias()方法设置Alias时,会默认使用DEFAULT_ALIAS = "SmartSql"。但是在仓储接口实例化时,通过
sp.GetRequiredService<ISqlMapper>()
方法获取ISqlMapper
实例就由后注册的SmartSqlDIBuilder
实例提供。因此将
sp.GetRequiredService<ISqlMapper>()
改成统一使用SmartSqlBuilder EnsureSmartSql(this IServiceProvider sp, string alias = SmartSqlBuilder.DEFAULT_ALIAS)
方法获取ISqlMapper
实例,改后的代码即:为类型
AssemblyAutoRegisterOptions
的属性SmartSqlAlias
设置默认值,也是为了实现第一个SmartSqlDIBuilder
实例注册时没有单独指定Alias的时候,也能够正确获取仓储接口实例,与上面的改动都是相同的目的。