mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 10:42:52 +08:00
- 修复 UseGenerateCommandParameterWithLambda 子查询并发 bug;#1155
This commit is contained in:
parent
4549bf446c
commit
6e8d72513f
@ -277,12 +277,31 @@ namespace base_entity
|
||||
public bool IsDeleted { get; set; }
|
||||
}
|
||||
|
||||
static void TestExp(IFreeSql fsql)
|
||||
{
|
||||
var tasks = new List<Task>();
|
||||
|
||||
for (var a = 0; a < 1000; a++)
|
||||
{
|
||||
var task = Task.Run(async () =>
|
||||
{
|
||||
var name = "123";
|
||||
var result = await fsql.Select<Rsbasedoc2>()
|
||||
.Where(t => t.Name == name
|
||||
&& fsql.Select<Rsbasedoc2>().Any(t2 => t2.Id == t.Id)).ToListAsync();
|
||||
});
|
||||
tasks.Add(task);
|
||||
}
|
||||
Task.WaitAll(tasks.ToArray());
|
||||
}
|
||||
|
||||
static void Main(string[] args)
|
||||
{
|
||||
#region 初始化 IFreeSql
|
||||
var fsql = new FreeSql.FreeSqlBuilder()
|
||||
.UseAutoSyncStructure(true)
|
||||
.UseNoneCommandParameter(true)
|
||||
.UseGenerateCommandParameterWithLambda(true)
|
||||
|
||||
.UseConnectionString(FreeSql.DataType.Sqlite, "data source=test1.db;max pool size=5")
|
||||
//.UseSlave("data source=test1.db", "data source=test2.db", "data source=test3.db", "data source=test4.db")
|
||||
@ -294,7 +313,7 @@ namespace base_entity
|
||||
|
||||
.UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=2")
|
||||
|
||||
//.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3;TrustServerCertificate=true")
|
||||
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3;TrustServerCertificate=true")
|
||||
|
||||
//.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=2")
|
||||
//.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=toc;Pooling=true;Maximum Pool Size=2")
|
||||
@ -325,6 +344,8 @@ namespace base_entity
|
||||
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
|
||||
#endregion
|
||||
|
||||
TestExp(fsql);
|
||||
|
||||
fsql.CodeFirst.GetTableByEntity(typeof(TestComment01));
|
||||
|
||||
fsql.Select<TUserImg>();
|
||||
|
@ -795,14 +795,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>
|
||||
|
@ -51,7 +51,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
{
|
||||
if (Interlocked.Increment(ref _disposeCounter) != 1) return;
|
||||
_where.Clear();
|
||||
_params.Clear();
|
||||
//_params.Clear(); 子查询与主查询共享,并发导致错误清除了主查询参数化信息 https://github.com/dotnetcore/FreeSql/issues/1155
|
||||
_tables.Clear();
|
||||
_tableRules.Clear();
|
||||
_join.Clear();
|
||||
|
Loading…
x
Reference in New Issue
Block a user