- 优化 Sqlite 默认使用 AdoPool;

This commit is contained in:
2881099 2023-08-27 20:52:04 +08:00
parent 37a4b13046
commit d6823b6a21
3 changed files with 8 additions and 20 deletions

View File

@ -600,6 +600,8 @@ namespace base_entity
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
#endregion
var testr1 = fsql.Ado.ExecuteConnectTest();
var dict = new List<Dictionary<string, object>>();
Dictionary<string, object> d = new Dictionary<string, object>();
d.Add("id", 2);

View File

@ -733,15 +733,6 @@
<param name="modelBuilder"></param>
<returns></returns>
</member>
<member name="M:FreeSqlDbContextExtensions.ApplyConfigurationsFromAssembly(FreeSql.ICodeFirst,System.Reflection.Assembly,System.Func{System.Type,System.Boolean})">
<summary>
根据Assembly扫描所有继承IEntityTypeConfiguration&lt;T&gt;的配置类
</summary>
<param name="codeFirst"></param>
<param name="assembly"></param>
<param name="predicate"></param>
<returns></returns>
</member>
<member name="M:FreeSqlDbContextExtensions.CreateDbContext(IFreeSql)">
<summary>
创建普通数据上下文档对象
@ -800,14 +791,5 @@
<param name="that"></param>
<returns></returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
<summary>
批量注入 Repository可以参考代码自行调整
</summary>
<param name="services"></param>
<param name="globalDataFilter"></param>
<param name="assemblies"></param>
<returns></returns>
</member>
</members>
</doc>

View File

@ -24,7 +24,7 @@ namespace FreeSql
bool _isLazyLoading = false;
bool _isExitAutoDisposePool = true;
bool _isQuoteSqlName = true;
bool _isAdoConnectionPool = false;
bool? _isAdoConnectionPool = null;
MappingPriorityType[] _mappingPriorityTypes;
NameConvertType _nameConvertType = NameConvertType.None;
Action<DbCommand> _aopCommandExecuting = null;
@ -370,9 +370,13 @@ namespace FreeSql
default: throw new Exception(CoreStrings.NotSpecified_UseConnectionString_UseConnectionFactory);
}
}
var isAdoPool = false;
if (_isAdoConnectionPool != null) isAdoPool = _isAdoConnectionPool.Value;
else if (_dataType == DataType.Sqlite) isAdoPool = true; //sqlite 默认使用 Ado Pool
else isAdoPool = false;
ret = Activator.CreateInstance(type, new object[]
{
_isAdoConnectionPool ? $"AdoConnectionPool,{_masterConnectionString}" : _masterConnectionString,
isAdoPool ? $"AdoConnectionPool,{_masterConnectionString}" : _masterConnectionString,
_slaveConnectionString,
_connectionFactory
}) as IFreeSql<TMark>;