mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
- fix #815
This commit is contained in:
parent
13b85d9c32
commit
50a8cc2376
@ -6,8 +6,12 @@
|
|||||||
<members>
|
<members>
|
||||||
<member name="T:FreeSql.BaseEntity`2">
|
<member name="T:FreeSql.BaseEntity`2">
|
||||||
<summary>
|
<summary>
|
||||||
|
Entity base class, including CreateTime/UpdateTime/IsDeleted, the CRUD methods, and ID primary key definition.
|
||||||
|
<para></para>
|
||||||
包括 CreateTime/UpdateTime/IsDeleted、CRUD 方法、以及 ID 主键定义 的实体基类
|
包括 CreateTime/UpdateTime/IsDeleted、CRUD 方法、以及 ID 主键定义 的实体基类
|
||||||
<para></para>
|
<para></para>
|
||||||
|
When TKey is int/long, the Id is set to be an auto-incremented primary key
|
||||||
|
<para></para>
|
||||||
当 TKey 为 int/long 时,Id 主键被设为自增值主键
|
当 TKey 为 int/long 时,Id 主键被设为自增值主键
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TEntity"></typeparam>
|
<typeparam name="TEntity"></typeparam>
|
||||||
@ -15,11 +19,13 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="P:FreeSql.BaseEntity`2.Id">
|
<member name="P:FreeSql.BaseEntity`2.Id">
|
||||||
<summary>
|
<summary>
|
||||||
|
Primary key <br />
|
||||||
主键
|
主键
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntity`2.FindAsync(`1)">
|
<member name="M:FreeSql.BaseEntity`2.FindAsync(`1)">
|
||||||
<summary>
|
<summary>
|
||||||
|
Get data based on the value of the primary key <br />
|
||||||
根据主键值获取数据
|
根据主键值获取数据
|
||||||
</summary>
|
</summary>
|
||||||
<param name="id"></param>
|
<param name="id"></param>
|
||||||
@ -27,6 +33,7 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntity`2.Find(`1)">
|
<member name="M:FreeSql.BaseEntity`2.Find(`1)">
|
||||||
<summary>
|
<summary>
|
||||||
|
Get data based on the value of the primary key <br />
|
||||||
根据主键值获取数据
|
根据主键值获取数据
|
||||||
</summary>
|
</summary>
|
||||||
<param name="id"></param>
|
<param name="id"></param>
|
||||||
@ -34,50 +41,62 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="T:FreeSql.BaseEntity`1">
|
<member name="T:FreeSql.BaseEntity`1">
|
||||||
<summary>
|
<summary>
|
||||||
|
Entity base class, including CreateTime/UpdateTime/IsDeleted, and sync/async CRUD methods.
|
||||||
|
<para></para>
|
||||||
包括 CreateTime/UpdateTime/IsDeleted、以及 CRUD 异步和同步方法的实体基类
|
包括 CreateTime/UpdateTime/IsDeleted、以及 CRUD 异步和同步方法的实体基类
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TEntity"></typeparam>
|
<typeparam name="TEntity"></typeparam>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntity`1.Delete(System.Boolean)">
|
<member name="M:FreeSql.BaseEntity`1.Delete(System.Boolean)">
|
||||||
<summary>
|
<summary>
|
||||||
|
To delete data <br />
|
||||||
删除数据
|
删除数据
|
||||||
</summary>
|
</summary>
|
||||||
<param name="physicalDelete">是否物理删除</param>
|
<param name="physicalDelete">To flag whether to delete the physical level of the data</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntity`1.Restore">
|
<member name="M:FreeSql.BaseEntity`1.Restore">
|
||||||
<summary>
|
<summary>
|
||||||
|
To recover deleted data <br />
|
||||||
恢复删除的数据
|
恢复删除的数据
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntity`1.Update">
|
<member name="M:FreeSql.BaseEntity`1.Update">
|
||||||
<summary>
|
<summary>
|
||||||
|
To update data <br />
|
||||||
更新数据
|
更新数据
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntity`1.Insert">
|
<member name="M:FreeSql.BaseEntity`1.Insert">
|
||||||
<summary>
|
<summary>
|
||||||
|
To insert data <br />
|
||||||
插入数据
|
插入数据
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntity`1.Save">
|
<member name="M:FreeSql.BaseEntity`1.Save">
|
||||||
<summary>
|
<summary>
|
||||||
|
To insert or update data <br />
|
||||||
更新或插入
|
更新或插入
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntity`1.SaveMany(System.String)">
|
<member name="M:FreeSql.BaseEntity`1.SaveMany(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
|
To completely save the navigation properties of the entity in the form of sub-tables. <br />
|
||||||
【完整】保存导航属性,子表
|
【完整】保存导航属性,子表
|
||||||
</summary>
|
</summary>
|
||||||
<param name="navigatePropertyName">导航属性名</param>
|
<param name="navigatePropertyName">Navigation property name</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:FreeSql.BaseEntityAsync`2">
|
<member name="T:FreeSql.BaseEntityAsync`2">
|
||||||
<summary>
|
<summary>
|
||||||
|
Entity base class, including CreateTime/UpdateTime/IsDeleted, the async CRUD methods, and ID primary key definition.
|
||||||
|
<para></para>
|
||||||
包括 CreateTime/UpdateTime/IsDeleted、CRUD 异步方法、以及 ID 主键定义 的实体基类
|
包括 CreateTime/UpdateTime/IsDeleted、CRUD 异步方法、以及 ID 主键定义 的实体基类
|
||||||
<para></para>
|
<para></para>
|
||||||
|
When TKey is int/long, the Id is set to be an auto-incremented primary key
|
||||||
|
<para></para>
|
||||||
当 TKey 为 int/long 时,Id 主键被设为自增值主键
|
当 TKey 为 int/long 时,Id 主键被设为自增值主键
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TEntity"></typeparam>
|
<typeparam name="TEntity"></typeparam>
|
||||||
@ -85,11 +104,13 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="P:FreeSql.BaseEntityAsync`2.Id">
|
<member name="P:FreeSql.BaseEntityAsync`2.Id">
|
||||||
<summary>
|
<summary>
|
||||||
|
Primary key <br />
|
||||||
主键
|
主键
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntityAsync`2.FindAsync(`1)">
|
<member name="M:FreeSql.BaseEntityAsync`2.FindAsync(`1)">
|
||||||
<summary>
|
<summary>
|
||||||
|
Get data based on the value of the primary key <br />
|
||||||
根据主键值获取数据
|
根据主键值获取数据
|
||||||
</summary>
|
</summary>
|
||||||
<param name="id"></param>
|
<param name="id"></param>
|
||||||
@ -97,106 +118,138 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="T:FreeSql.BaseEntityAsync`1">
|
<member name="T:FreeSql.BaseEntityAsync`1">
|
||||||
<summary>
|
<summary>
|
||||||
|
Entity base class, including CreateTime/UpdateTime/IsDeleted, and async CRUD methods.
|
||||||
|
<para></para>
|
||||||
包括 CreateTime/UpdateTime/IsDeleted、以及 CRUD 异步方法的实体基类
|
包括 CreateTime/UpdateTime/IsDeleted、以及 CRUD 异步方法的实体基类
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TEntity"></typeparam>
|
<typeparam name="TEntity"></typeparam>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntityAsync`1.DeleteAsync(System.Boolean)">
|
<member name="M:FreeSql.BaseEntityAsync`1.DeleteAsync(System.Boolean)">
|
||||||
<summary>
|
<summary>
|
||||||
|
To delete data <br />
|
||||||
删除数据
|
删除数据
|
||||||
</summary>
|
</summary>
|
||||||
<param name="physicalDelete">是否物理删除</param>
|
<param name="physicalDelete">To flag whether to delete the physical level of the data</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntityAsync`1.RestoreAsync">
|
<member name="M:FreeSql.BaseEntityAsync`1.RestoreAsync">
|
||||||
<summary>
|
<summary>
|
||||||
|
To recover deleted data <br />
|
||||||
恢复删除的数据
|
恢复删除的数据
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntityAsync`1.UpdateAsync">
|
<member name="M:FreeSql.BaseEntityAsync`1.UpdateAsync">
|
||||||
<summary>
|
<summary>
|
||||||
|
To update data <br />
|
||||||
更新数据
|
更新数据
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntityAsync`1.InsertAsync">
|
<member name="M:FreeSql.BaseEntityAsync`1.InsertAsync">
|
||||||
<summary>
|
<summary>
|
||||||
|
To insert data <br />
|
||||||
插入数据
|
插入数据
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntityAsync`1.SaveAsync">
|
<member name="M:FreeSql.BaseEntityAsync`1.SaveAsync">
|
||||||
<summary>
|
<summary>
|
||||||
|
To insert or update data <br />
|
||||||
更新或插入
|
更新或插入
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntityAsync`1.SaveManyAsync(System.String)">
|
<member name="M:FreeSql.BaseEntityAsync`1.SaveManyAsync(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
|
To completely save the navigation properties of the entity in the form of sub-tables. <br />
|
||||||
【完整】保存导航属性,子表
|
【完整】保存导航属性,子表
|
||||||
</summary>
|
</summary>
|
||||||
<param name="navigatePropertyName">导航属性名</param>
|
<param name="navigatePropertyName">Navigation property name</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:FreeSql.BaseEntity">
|
<member name="T:FreeSql.BaseEntity">
|
||||||
<summary>
|
<summary>
|
||||||
|
Entity base class, including CreateTime/UpdateTime/IsDeleted.
|
||||||
|
<para></para>
|
||||||
包括 CreateTime/UpdateTime/IsDeleted 的实体基类
|
包括 CreateTime/UpdateTime/IsDeleted 的实体基类
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:FreeSql.BaseEntity.Orm">
|
<member name="P:FreeSql.BaseEntity.Orm">
|
||||||
<summary>
|
<summary>
|
||||||
全局 IFreeSql orm 对象
|
Global IFreeSql ORM Object <br />
|
||||||
|
全局 IFreeSql ORM 对象
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntity.Initialization(IFreeSql,System.Func{FreeSql.IUnitOfWork})">
|
<member name="M:FreeSql.BaseEntity.Initialization(IFreeSql,System.Func{FreeSql.IUnitOfWork})">
|
||||||
<summary>
|
<summary>
|
||||||
初始化BaseEntity
|
To initialize the BaseEntity <br />
|
||||||
BaseEntity.Initialization(new FreeSqlBuilder()
|
初始化 BaseEntity
|
||||||
<para></para>
|
<para></para>
|
||||||
.UseAutoSyncStructure(true)
|
BaseEntity.Initialization( <br />
|
||||||
<para></para>
|
new FreeSqlBuilder() <br />
|
||||||
.UseConnectionString(DataType.Sqlite, "data source=test.db;max pool size=5")
|
.UseAutoSyncStructure(true) <br />
|
||||||
<para></para>
|
.UseConnectionString(DataType.Sqlite, "data source=test.db;max pool size=5") <br />
|
||||||
.Build());
|
.Build());
|
||||||
</summary>
|
</summary>
|
||||||
<param name="fsql">IFreeSql orm 对象</param>
|
<param name="fsql">IFreeSql ORM Object</param>
|
||||||
<param name="resolveUow">工作单元(事务)委托,如果不使用事务请传 null<para></para>解释:由于AsyncLocal平台兼容不好,所以交给外部管理</param>
|
<param name="resolveUow">工作单元(事务)委托,如果不使用事务请传 null<para></para>解释:由于AsyncLocal平台兼容不好,所以交给外部管理</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:FreeSql.BaseEntity.CreateTime">
|
<member name="P:FreeSql.BaseEntity.CreateTime">
|
||||||
<summary>
|
<summary>
|
||||||
|
Created time <br />
|
||||||
创建时间
|
创建时间
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:FreeSql.BaseEntity.UpdateTime">
|
<member name="P:FreeSql.BaseEntity.UpdateTime">
|
||||||
<summary>
|
<summary>
|
||||||
|
Updated time <br />
|
||||||
更新时间
|
更新时间
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:FreeSql.BaseEntity.IsDeleted">
|
<member name="P:FreeSql.BaseEntity.IsDeleted">
|
||||||
<summary>
|
<summary>
|
||||||
|
Logical Delete <br />
|
||||||
逻辑删除
|
逻辑删除
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:FreeSql.BaseEntity.Sort">
|
<member name="P:FreeSql.BaseEntity.Sort">
|
||||||
<summary>
|
<summary>
|
||||||
|
Sort <br />
|
||||||
排序
|
排序
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:FreeSql.BaseEntityReadOnly`1">
|
||||||
|
<summary>
|
||||||
|
A readonly entity base class, including CreateTime/UpdateTime/IsDeleted.
|
||||||
|
<para></para>
|
||||||
|
包括 CreateTime/UpdateTime/IsDeleted 的只读实体基类
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TEntity"></typeparam>
|
||||||
|
</member>
|
||||||
<member name="P:FreeSql.BaseEntityReadOnly`1.Select">
|
<member name="P:FreeSql.BaseEntityReadOnly`1.Select">
|
||||||
<summary>
|
<summary>
|
||||||
|
To query data <br />
|
||||||
查询数据
|
查询数据
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntityReadOnly`1.Where(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
|
<member name="M:FreeSql.BaseEntityReadOnly`1.Where(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
|
||||||
<summary>
|
<summary>
|
||||||
查询条件,Where(a => a.Id > 10),支持导航对象查询,Where(a => a.Author.Email == "2881099@qq.com")
|
Query conditions <br />
|
||||||
|
查询条件,Where(a => a.Id> 10)
|
||||||
|
<para></para>
|
||||||
|
Support navigation object query <br />
|
||||||
|
支持导航对象查询,Where(a => a.Author.Email == "2881099@qq.com")
|
||||||
</summary>
|
</summary>
|
||||||
<param name="exp">lambda表达式</param>
|
<param name="exp">lambda表达式</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntityReadOnly`1.WhereIf(System.Boolean,System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
|
<member name="M:FreeSql.BaseEntityReadOnly`1.WhereIf(System.Boolean,System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
|
||||||
<summary>
|
<summary>
|
||||||
查询条件,Where(true, a => a.Id > 10),支导航对象查询,Where(true, a => a.Author.Email == "2881099@qq.com")
|
Query conditions <br />
|
||||||
|
查询条件,Where(true, a => a.Id > 10)
|
||||||
|
<para></para>
|
||||||
|
Support navigation object query <br />
|
||||||
|
支导航对象查询,Where(true, a => a.Author.Email == "2881099@qq.com")
|
||||||
</summary>
|
</summary>
|
||||||
<param name="condition">true 时生效</param>
|
<param name="condition">true 时生效</param>
|
||||||
<param name="exp">lambda表达式</param>
|
<param name="exp">lambda表达式</param>
|
||||||
@ -204,12 +257,14 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="P:FreeSql.BaseEntityReadOnly`1.Repository">
|
<member name="P:FreeSql.BaseEntityReadOnly`1.Repository">
|
||||||
<summary>
|
<summary>
|
||||||
|
Repository object. <br />
|
||||||
仓储对象
|
仓储对象
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.BaseEntityReadOnly`1.Attach">
|
<member name="M:FreeSql.BaseEntityReadOnly`1.Attach">
|
||||||
<summary>
|
<summary>
|
||||||
附加实体,在更新数据时,只更新变化的部分
|
To Attach entities. When updating data, only the changed part is updated. <br />
|
||||||
|
附加实体。在更新数据时,只更新变化的部分
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
</members>
|
</members>
|
||||||
|
@ -6,11 +6,13 @@
|
|||||||
<members>
|
<members>
|
||||||
<member name="T:FreeSql.DataAnnotations.JsonMapAttribute">
|
<member name="T:FreeSql.DataAnnotations.JsonMapAttribute">
|
||||||
<summary>
|
<summary>
|
||||||
当实体类属性为【对象】时,以JSON形式映射存储
|
When the entity class property is <see cref="T:System.Object"/>, map storage in JSON format. <br />
|
||||||
|
当实体类属性为【对象】时,以 JSON 形式映射存储
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSqlJsonMapCoreExtensions.UseJsonMap(IFreeSql)">
|
<member name="M:FreeSqlJsonMapCoreExtensions.UseJsonMap(IFreeSql)">
|
||||||
<summary>
|
<summary>
|
||||||
|
When the entity class property is <see cref="T:System.Object"/> and the attribute is marked as <see cref="T:FreeSql.DataAnnotations.JsonMapAttribute"/>, map storage in JSON format. <br />
|
||||||
当实体类属性为【对象】时,并且标记特性 [JsonMap] 时,该属性将以JSON形式映射存储
|
当实体类属性为【对象】时,并且标记特性 [JsonMap] 时,该属性将以JSON形式映射存储
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
|
@ -512,5 +512,14 @@
|
|||||||
<param name="that"></param>
|
<param name="that"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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>
|
</members>
|
||||||
</doc>
|
</doc>
|
||||||
|
@ -404,6 +404,7 @@ public static partial class FreeSqlGlobalExtensions
|
|||||||
int level = -1) where T1 : class
|
int level = -1) where T1 : class
|
||||||
{
|
{
|
||||||
var select = that as Select1Provider<T1>;
|
var select = that as Select1Provider<T1>;
|
||||||
|
select._is_AsTreeCte = true;
|
||||||
var tb = select._tables[0].Table;
|
var tb = select._tables[0].Table;
|
||||||
var navs = tb.Properties.Select(a => tb.GetTableRef(a.Key, false))
|
var navs = tb.Properties.Select(a => tb.GetTableRef(a.Key, false))
|
||||||
.Where(a => a != null &&
|
.Where(a => a != null &&
|
||||||
@ -545,6 +546,7 @@ JOIN {select._commonUtils.QuoteSqlName(tb.DbName)} a ON cte_tbc.cte_id = a.{sele
|
|||||||
.WhereIf(level > 0, $"a.cte_level < {level + 1}")
|
.WhereIf(level > 0, $"a.cte_level < {level + 1}")
|
||||||
.OrderBy(up, "a.cte_level desc") as Select1Provider<T1>;
|
.OrderBy(up, "a.cte_level desc") as Select1Provider<T1>;
|
||||||
|
|
||||||
|
newSelect._is_AsTreeCte = true;
|
||||||
newSelect._params = new List<DbParameter>(select._params.ToArray());
|
newSelect._params = new List<DbParameter>(select._params.ToArray());
|
||||||
newSelect._includeInfo = select._includeInfo;
|
newSelect._includeInfo = select._includeInfo;
|
||||||
newSelect._includeManySubListOneToManyTempValue1 = select._includeManySubListOneToManyTempValue1;
|
newSelect._includeManySubListOneToManyTempValue1 = select._includeManySubListOneToManyTempValue1;
|
||||||
|
@ -3172,177 +3172,6 @@
|
|||||||
<param name="parms"></param>
|
<param name="parms"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.IAdo.ExecuteConnectTestAsync(System.Int32,System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
测试数据库是否连接正确,本方法执行如下命令:<para></para>
|
|
||||||
MySql/SqlServer/PostgreSQL/达梦/人大金仓/神通: SELECT 1<para></para>
|
|
||||||
Oracle: SELECT 1 FROM dual<para></para>
|
|
||||||
</summary>
|
|
||||||
<param name="commandTimeout">命令超时设置(秒)</param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
<returns>true: 成功, false: 失败</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.ExecuteReaderAsync(System.Func{FreeSql.Internal.Model.FetchCallbackArgs{System.Data.Common.DbDataReader},System.Threading.Tasks.Task},System.Data.CommandType,System.String,System.Data.Common.DbParameter[],System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
查询,若使用读写分离,查询【从库】条件cmdText.StartsWith("SELECT "),否则查询【主库】
|
|
||||||
</summary>
|
|
||||||
<param name="readerHander"></param>
|
|
||||||
<param name="cmdType"></param>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="cmdParms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.ExecuteReaderAsync(System.Func{FreeSql.Internal.Model.FetchCallbackArgs{System.Data.Common.DbDataReader},System.Threading.Tasks.Task},System.String,System.Object,System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
查询,ExecuteReaderAsync(dr => {}, "select * from user where age > @age", new { age = 25 })<para></para>
|
|
||||||
提示:parms 参数还可以传 Dictionary<string, object>
|
|
||||||
</summary>
|
|
||||||
<param name="readerHander"></param>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="parms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.ExecuteArrayAsync(System.Data.CommandType,System.String,System.Data.Common.DbParameter[],System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
查询
|
|
||||||
</summary>
|
|
||||||
<param name="cmdType"></param>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="cmdParms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.ExecuteArrayAsync(System.String,System.Object,System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
查询,ExecuteArrayAsync("select * from user where age > @age", new { age = 25 })<para></para>
|
|
||||||
提示:parms 参数还可以传 Dictionary<string, object>
|
|
||||||
</summary>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="parms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.ExecuteDataSetAsync(System.Data.CommandType,System.String,System.Data.Common.DbParameter[],System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
查询
|
|
||||||
</summary>
|
|
||||||
<param name="cmdType"></param>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="cmdParms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.ExecuteDataSetAsync(System.String,System.Object,System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
查询,ExecuteDataSetAsync("select * from user where age > @age; select 2", new { age = 25 })<para></para>
|
|
||||||
提示:parms 参数还可以传 Dictionary<string, object>
|
|
||||||
</summary>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="parms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.ExecuteDataTableAsync(System.Data.CommandType,System.String,System.Data.Common.DbParameter[],System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
查询
|
|
||||||
</summary>
|
|
||||||
<param name="cmdType"></param>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="cmdParms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.ExecuteDataTableAsync(System.String,System.Object,System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
查询,ExecuteDataTableAsync("select * from user where age > @age", new { age = 25 })<para></para>
|
|
||||||
提示:parms 参数还可以传 Dictionary<string, object>
|
|
||||||
</summary>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="parms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.ExecuteNonQueryAsync(System.Data.CommandType,System.String,System.Data.Common.DbParameter[],System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
在【主库】执行
|
|
||||||
</summary>
|
|
||||||
<param name="cmdType"></param>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="cmdParms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.ExecuteNonQueryAsync(System.String,System.Object,System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
在【主库】执行,ExecuteNonQueryAsync("delete from user where age > @age", new { age = 25 })<para></para>
|
|
||||||
提示:parms 参数还可以传 Dictionary<string, object>
|
|
||||||
</summary>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="parms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.ExecuteScalarAsync(System.Data.CommandType,System.String,System.Data.Common.DbParameter[],System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
在【主库】执行
|
|
||||||
</summary>
|
|
||||||
<param name="cmdType"></param>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="cmdParms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.ExecuteScalarAsync(System.String,System.Object,System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
在【主库】执行,ExecuteScalarAsync("select 1 from user where age > @age", new { age = 25 })<para></para>
|
|
||||||
提示:parms 参数还可以传 Dictionary<string, object>
|
|
||||||
</summary>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="parms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.QueryAsync``1(System.Data.CommandType,System.String,System.Data.Common.DbParameter[],System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
执行SQL返回对象集合,QueryAsync<User>("select * from user where age > @age", new SqlParameter { ParameterName = "age", Value = 25 })
|
|
||||||
</summary>
|
|
||||||
<typeparam name="T"></typeparam>
|
|
||||||
<param name="cmdType"></param>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="cmdParms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.QueryAsync``1(System.String,System.Object,System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
执行SQL返回对象集合,QueryAsync<User>("select * from user where age > @age", new { age = 25 })<para></para>
|
|
||||||
提示:parms 参数还可以传 Dictionary<string, object>
|
|
||||||
</summary>
|
|
||||||
<typeparam name="T"></typeparam>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="parms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.QueryAsync``2(System.Data.CommandType,System.String,System.Data.Common.DbParameter[],System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
执行SQL返回对象集合,Query<User>("select * from user where age > @age; select * from address", new SqlParameter { ParameterName = "age", Value = 25 })
|
|
||||||
</summary>
|
|
||||||
<typeparam name="T1"></typeparam>
|
|
||||||
<typeparam name="T2"></typeparam>
|
|
||||||
<param name="cmdType"></param>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="cmdParms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.QueryAsync``2(System.String,System.Object,System.Threading.CancellationToken)">
|
|
||||||
<summary>
|
|
||||||
执行SQL返回对象集合,Query<User, Address>("select * from user where age > @age; select * from address", new { age = 25 })<para></para>
|
|
||||||
提示:parms 参数还可以传 Dictionary<string, object>
|
|
||||||
</summary>
|
|
||||||
<typeparam name="T1"></typeparam>
|
|
||||||
<typeparam name="T2"></typeparam>
|
|
||||||
<param name="cmdText"></param>
|
|
||||||
<param name="parms"></param>
|
|
||||||
<param name="cancellationToken"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="E:FreeSql.IAop.ParseExpression">
|
<member name="E:FreeSql.IAop.ParseExpression">
|
||||||
<summary>
|
<summary>
|
||||||
可自定义解析表达式
|
可自定义解析表达式
|
||||||
@ -4216,12 +4045,6 @@
|
|||||||
<param name="timeout">超时</param>
|
<param name="timeout">超时</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.Internal.ObjectPool.IObjectPool`1.GetAsync">
|
|
||||||
<summary>
|
|
||||||
获取资源
|
|
||||||
</summary>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.Internal.ObjectPool.IObjectPool`1.Return(FreeSql.Internal.ObjectPool.Object{`0},System.Boolean)">
|
<member name="M:FreeSql.Internal.ObjectPool.IObjectPool`1.Return(FreeSql.Internal.ObjectPool.Object{`0},System.Boolean)">
|
||||||
<summary>
|
<summary>
|
||||||
使用完毕后,归还资源
|
使用完毕后,归还资源
|
||||||
@ -4292,12 +4115,6 @@
|
|||||||
</summary>
|
</summary>
|
||||||
<param name="obj">资源对象</param>
|
<param name="obj">资源对象</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.Internal.ObjectPool.IPolicy`1.OnGetAsync(FreeSql.Internal.ObjectPool.Object{`0})">
|
|
||||||
<summary>
|
|
||||||
从对象池获取对象成功的时候触发,通过该方法统计或初始化对象
|
|
||||||
</summary>
|
|
||||||
<param name="obj">资源对象</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.Internal.ObjectPool.IPolicy`1.OnReturn(FreeSql.Internal.ObjectPool.Object{`0})">
|
<member name="M:FreeSql.Internal.ObjectPool.IPolicy`1.OnReturn(FreeSql.Internal.ObjectPool.Object{`0})">
|
||||||
<summary>
|
<summary>
|
||||||
归还对象给对象池的时候触发
|
归还对象给对象池的时候触发
|
||||||
|
@ -43,6 +43,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
public Expression _selectExpression;
|
public Expression _selectExpression;
|
||||||
public List<GlobalFilter.Item> _whereGlobalFilter;
|
public List<GlobalFilter.Item> _whereGlobalFilter;
|
||||||
public Func<bool> _cancel;
|
public Func<bool> _cancel;
|
||||||
|
public bool _is_AsTreeCte;
|
||||||
|
|
||||||
int _disposeCounter;
|
int _disposeCounter;
|
||||||
~Select0Provider()
|
~Select0Provider()
|
||||||
@ -122,6 +123,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
to._selectExpression = from._selectExpression;
|
to._selectExpression = from._selectExpression;
|
||||||
to._whereGlobalFilter = new List<GlobalFilter.Item>(from._whereGlobalFilter.ToArray());
|
to._whereGlobalFilter = new List<GlobalFilter.Item>(from._whereGlobalFilter.ToArray());
|
||||||
to._cancel = from._cancel;
|
to._cancel = from._cancel;
|
||||||
|
to._is_AsTreeCte = from._is_AsTreeCte;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Expression ConvertStringPropertyToExpression(string property, bool fromFirstTable = false)
|
public Expression ConvertStringPropertyToExpression(string property, bool fromFirstTable = false)
|
||||||
@ -393,8 +395,11 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
if (_params.Any()) del._params = new List<DbParameter>(_params.ToArray());
|
if (_params.Any()) del._params = new List<DbParameter>(_params.ToArray());
|
||||||
if (_whereGlobalFilter.Any()) del._whereGlobalFilter = new List<GlobalFilter.Item>(_whereGlobalFilter.ToArray());
|
if (_whereGlobalFilter.Any()) del._whereGlobalFilter = new List<GlobalFilter.Item>(_whereGlobalFilter.ToArray());
|
||||||
del.WithConnection(_connection).WithTransaction(_transaction).CommandTimeout(_commandTimeout);
|
del.WithConnection(_connection).WithTransaction(_transaction).CommandTimeout(_commandTimeout);
|
||||||
var trytbname = "";
|
if (_is_AsTreeCte == false)
|
||||||
del.AsTable(old => GetTableRuleUnions().FirstOrDefault()?.TryGetValue(_tables[0].Table.Type, out trytbname) == true ? trytbname : null);
|
{
|
||||||
|
var trytbname = "";
|
||||||
|
del.AsTable(old => GetTableRuleUnions().FirstOrDefault()?.TryGetValue(_tables[0].Table.Type, out trytbname) == true && trytbname.IndexOf(' ') == -1 ? trytbname : null);
|
||||||
|
}
|
||||||
switch (_orm.Ado.DataType)
|
switch (_orm.Ado.DataType)
|
||||||
{
|
{
|
||||||
case DataType.Dameng:
|
case DataType.Dameng:
|
||||||
@ -423,8 +428,11 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
if (_params.Any()) upd._params = new List<DbParameter>(_params.ToArray());
|
if (_params.Any()) upd._params = new List<DbParameter>(_params.ToArray());
|
||||||
if (_whereGlobalFilter.Any()) upd._whereGlobalFilter = new List<GlobalFilter.Item>(_whereGlobalFilter.ToArray());
|
if (_whereGlobalFilter.Any()) upd._whereGlobalFilter = new List<GlobalFilter.Item>(_whereGlobalFilter.ToArray());
|
||||||
upd.WithConnection(_connection).WithTransaction(_transaction).CommandTimeout(_commandTimeout);
|
upd.WithConnection(_connection).WithTransaction(_transaction).CommandTimeout(_commandTimeout);
|
||||||
var trytbname = "";
|
if (_is_AsTreeCte == false)
|
||||||
upd.AsTable(old => GetTableRuleUnions().FirstOrDefault()?.TryGetValue(_tables[0].Table.Type, out trytbname) == true ? trytbname : null);
|
{
|
||||||
|
var trytbname = "";
|
||||||
|
upd.AsTable(old => GetTableRuleUnions().FirstOrDefault()?.TryGetValue(_tables[0].Table.Type, out trytbname) == true && trytbname.IndexOf(' ') == -1 ? trytbname : null);
|
||||||
|
}
|
||||||
switch (_orm.Ado.DataType)
|
switch (_orm.Ado.DataType)
|
||||||
{
|
{
|
||||||
case DataType.Dameng:
|
case DataType.Dameng:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user