diff --git a/FreeSql.DbContext/DbContext/DbContextScopedFreeSql.cs b/FreeSql.DbContext/DbContext/DbContextScopedFreeSql.cs
index 28b429c8..068d53d1 100644
--- a/FreeSql.DbContext/DbContext/DbContextScopedFreeSql.cs
+++ b/FreeSql.DbContext/DbContext/DbContextScopedFreeSql.cs
@@ -48,6 +48,8 @@ namespace FreeSql
base.ConnectionString = ado.ConnectionString;
base.SlaveConnectionStrings = ado.SlaveConnectionStrings;
base.Identifier = ado.Identifier;
+ base.MasterPool = ado.MasterPool;
+ base._util = ado._util;
}
public override object AddslashesProcessParam(object param, Type mapType, ColumnInfo mapColumn) => _ado.AddslashesProcessParam(param, mapType, mapColumn);
public override DbCommand CreateCommand() => _ado.CreateCommand();
diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index 27909b2e..02eb0609 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -512,14 +512,5 @@
-
-
- 批量注入 Repository,可以参考代码自行调整
-
-
-
-
-
-
diff --git a/FreeSql.Tests/FreeSql.Tests.DbContext/RepositoryTests.cs b/FreeSql.Tests/FreeSql.Tests.DbContext/RepositoryTests.cs
index f5844a27..144a5e9c 100644
--- a/FreeSql.Tests/FreeSql.Tests.DbContext/RepositoryTests.cs
+++ b/FreeSql.Tests/FreeSql.Tests.DbContext/RepositoryTests.cs
@@ -499,6 +499,35 @@ namespace FreeSql.Tests
public string Name { get; set; }
}
+ [Fact]
+ public void OrmScoped()
+ {
+ var fsql = g.sqlserver;
+ //fsql.Aop.CommandBefore += (s, e) =>
+ //{
+ // Console.WriteLine(e.Command.CommandText);
+ //};
+
+ var repo = fsql.GetRepository();
+ repo.Orm.Ado.ExecuteNonQuery("select 1");
+
+ using (var ctx = fsql.CreateDbContext())
+ {
+ ctx.Orm.Ado.ExecuteNonQuery("select 1");
+ }
+
+ using (var uow = fsql.CreateUnitOfWork())
+ {
+ uow.Orm.Ado.ExecuteNonQuery("select 1");
+ }
+
+ using (var uow = fsql.CreateUnitOfWork())
+ {
+ repo.UnitOfWork = uow;
+ repo.Orm.Ado.ExecuteNonQuery("select 1");
+ }
+ }
+
[Fact]
public void UpdateBit()
{
diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml
index 29d4f3d4..756b3fce 100644
--- a/FreeSql/FreeSql.xml
+++ b/FreeSql/FreeSql.xml
@@ -3099,6 +3099,177 @@
+
+
+ 测试数据库是否连接正确,本方法执行如下命令:
+ MySql/SqlServer/PostgreSQL/达梦/人大金仓/神通: SELECT 1
+ Oracle: SELECT 1 FROM dual
+
+ 命令超时设置(秒)
+
+ true: 成功, false: 失败
+
+
+
+ 查询,若使用读写分离,查询【从库】条件cmdText.StartsWith("SELECT "),否则查询【主库】
+
+
+
+
+
+
+
+
+
+ 查询,ExecuteReaderAsync(dr => {}, "select * from user where age > @age", new { age = 25 })
+ 提示:parms 参数还可以传 Dictionary<string, object>
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+ 查询,ExecuteArrayAsync("select * from user where age > @age", new { age = 25 })
+ 提示:parms 参数还可以传 Dictionary<string, object>
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+ 查询,ExecuteDataSetAsync("select * from user where age > @age; select 2", new { age = 25 })
+ 提示:parms 参数还可以传 Dictionary<string, object>
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+ 查询,ExecuteDataTableAsync("select * from user where age > @age", new { age = 25 })
+ 提示:parms 参数还可以传 Dictionary<string, object>
+
+
+
+
+
+
+
+
+ 在【主库】执行
+
+
+
+
+
+
+
+
+ 在【主库】执行,ExecuteNonQueryAsync("delete from user where age > @age", new { age = 25 })
+ 提示:parms 参数还可以传 Dictionary<string, object>
+
+
+
+
+
+
+
+
+ 在【主库】执行
+
+
+
+
+
+
+
+
+ 在【主库】执行,ExecuteScalarAsync("select 1 from user where age > @age", new { age = 25 })
+ 提示:parms 参数还可以传 Dictionary<string, object>
+
+
+
+
+
+
+
+
+ 执行SQL返回对象集合,QueryAsync<User>("select * from user where age > @age", new SqlParameter { ParameterName = "age", Value = 25 })
+
+
+
+
+
+
+
+
+
+
+ 执行SQL返回对象集合,QueryAsync<User>("select * from user where age > @age", new { age = 25 })
+ 提示:parms 参数还可以传 Dictionary<string, object>
+
+
+
+
+
+
+
+
+
+ 执行SQL返回对象集合,Query<User>("select * from user where age > @age; select * from address", new SqlParameter { ParameterName = "age", Value = 25 })
+
+
+
+
+
+
+
+
+
+
+
+ 执行SQL返回对象集合,Query<User, Address>("select * from user where age > @age; select * from address", new { age = 25 })
+ 提示:parms 参数还可以传 Dictionary<string, object>
+
+
+
+
+
+
+
+
可自定义解析表达式
@@ -3927,6 +4098,12 @@
超时
+
+
+ 获取资源
+
+
+
使用完毕后,归还资源
@@ -3997,6 +4174,12 @@
资源对象
+
+
+ 从对象池获取对象成功的时候触发,通过该方法统计或初始化对象
+
+ 资源对象
+
归还对象给对象池的时候触发
diff --git a/FreeSql/Internal/CommonProvider/AdoProvider/AdoProvider.cs b/FreeSql/Internal/CommonProvider/AdoProvider/AdoProvider.cs
index 6bffc242..06d6d80a 100644
--- a/FreeSql/Internal/CommonProvider/AdoProvider/AdoProvider.cs
+++ b/FreeSql/Internal/CommonProvider/AdoProvider/AdoProvider.cs
@@ -31,7 +31,7 @@ namespace FreeSql.Internal.CommonProvider
public string[] SlaveConnectionStrings { get; protected set; }
public Guid Identifier { get; protected set; }
- protected CommonUtils _util { get; set; }
+ public CommonUtils _util { get; set; }
protected int slaveUnavailables = 0;
private object slaveLock = new object();
private Random slaveRandom = new Random();