From 53d7c6487d8a2461acb9564854b367220e370358 Mon Sep 17 00:00:00 2001
From: 2881099 <2881099@qq.com>
Date: Tue, 23 Aug 2022 17:24:58 +0800
Subject: [PATCH] v3.2.666-preview20220826
---
Directory.Build.props | 2 +-
.../FreeSql.Extensions.BaseEntity.csproj | 2 +-
.../FreeSql.Extensions.JsonMap.csproj | 2 +-
.../FreeSql.Extensions.LazyLoading.csproj | 2 +-
.../FreeSql.Extensions.Linq.csproj | 2 +-
.../FreeSql.Generator.csproj | 2 +-
FreeSql.All/FreeSql.All.csproj | 2 +-
FreeSql.DbContext/FreeSql.DbContext.csproj | 2 +-
FreeSql.Repository/FreeSql.Repository.csproj | 2 +-
FreeSql/FreeSql.csproj | 2 +-
FreeSql/FreeSql.xml | 333 +++++++++---------
.../FreeSql.Provider.ClickHouse.csproj | 2 +-
.../FreeSql.Provider.Custom.csproj | 2 +-
.../FreeSql.Provider.Dameng.csproj | 2 +-
.../FreeSql.Provider.Firebird.csproj | 2 +-
.../FreeSql.Provider.GBase.csproj | 2 +-
.../FreeSql.Provider.KingbaseES.csproj | 2 +-
.../FreeSql.Provider.MsAccess.csproj | 2 +-
.../FreeSql.Provider.MySql.csproj | 2 +-
.../FreeSql.Provider.MySqlConnector.csproj | 2 +-
.../FreeSql.Provider.Odbc.csproj | 2 +-
.../FreeSql.Provider.Oracle.csproj | 2 +-
.../FreeSql.Provider.OracleOledb.csproj | 2 +-
.../FreeSql.Provider.PostgreSQL.csproj | 2 +-
.../FreeSql.Provider.ShenTong.csproj | 2 +-
.../FreeSql.Provider.SqlServer.csproj | 2 +-
...FreeSql.Provider.SqlServerForSystem.csproj | 2 +-
.../FreeSql.Provider.Sqlite.csproj | 2 +-
.../FreeSql.Provider.SqliteCore.csproj | 2 +-
29 files changed, 186 insertions(+), 203 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index 8a1fbf0f..cb9b8e05 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -11,7 +11,7 @@
diff --git a/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj b/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj
index cca12d61..752c9028 100644
--- a/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj
+++ b/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj
@@ -19,7 +19,7 @@
key.snk
false
latest
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj b/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj
index 9b864943..21b3bb3d 100644
--- a/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj
+++ b/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj
index 8e949f4f..3dd8a791 100644
--- a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj
+++ b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj
@@ -15,7 +15,7 @@
$(AssemblyName)
true
true
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj b/Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj
index c1f3fc0b..ec97f372 100644
--- a/Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj
+++ b/Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Extensions/FreeSql.Generator/FreeSql.Generator.csproj b/Extensions/FreeSql.Generator/FreeSql.Generator.csproj
index 7bcc6e2c..b827fff3 100644
--- a/Extensions/FreeSql.Generator/FreeSql.Generator.csproj
+++ b/Extensions/FreeSql.Generator/FreeSql.Generator.csproj
@@ -13,7 +13,7 @@
https://github.com/2881099/FreeSql
https://github.com/2881099/FreeSql
FreeSql DbFirst 实体生成器
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/FreeSql.All/FreeSql.All.csproj b/FreeSql.All/FreeSql.All.csproj
index bd59ea19..4c416a7e 100644
--- a/FreeSql.All/FreeSql.All.csproj
+++ b/FreeSql.All/FreeSql.All.csproj
@@ -17,7 +17,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/FreeSql.DbContext/FreeSql.DbContext.csproj b/FreeSql.DbContext/FreeSql.DbContext.csproj
index 1d65b44d..4558775f 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.csproj
+++ b/FreeSql.DbContext/FreeSql.DbContext.csproj
@@ -17,7 +17,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/FreeSql.Repository/FreeSql.Repository.csproj b/FreeSql.Repository/FreeSql.Repository.csproj
index aa089c9e..a4e7e956 100644
--- a/FreeSql.Repository/FreeSql.Repository.csproj
+++ b/FreeSql.Repository/FreeSql.Repository.csproj
@@ -17,7 +17,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/FreeSql/FreeSql.csproj b/FreeSql/FreeSql.csproj
index 1b9a9955..9de42684 100644
--- a/FreeSql/FreeSql.csproj
+++ b/FreeSql/FreeSql.csproj
@@ -17,7 +17,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml
index a8cd52d5..91120bfb 100644
--- a/FreeSql/FreeSql.xml
+++ b/FreeSql/FreeSql.xml
@@ -3806,201 +3806,184 @@
- 反序列化
+
+ 发生的错误
-
+
+
+
+ 耗时(单位:Ticks)
+
+
+
+
+ 耗时(单位:毫秒)
+
+
+
+
+ 【开发环境必备】自动同步实体结构到数据库,程序运行中检查实体表是否存在,然后创建或修改
+
+
+
+
+ 转小写同步结构,适用 PostgreSQL
+
+
+
+
+ 转大写同步结构,适用 Oracle/达梦/人大金仓
+
+
+
+
+ 将数据库的主键、自增、索引设置导入,适用 DbFirst 模式,无须在实体类型上设置 [Column(IsPrimary)] 或者 ConfigEntity。此功能目前可用于 mysql/sqlserver/postgresql/oracle。
+ 本功能会影响 IFreeSql 首次访问的速度。
+ 若使用 CodeFirst 创建索引后,又直接在数据库上建了索引,若无本功能下一次 CodeFirst 迁移时数据库上创建的索引将被删除
+
+
+
+
+ 不使用命令参数化执行,针对 Insert/Update
+
+
+
+
+ 是否生成命令参数化执行,针对 lambda 表达式解析
+ 注意:常量不会参数化,变量才会做参数化
+ var id = 100;
+ fsql.Select<T>().Where(a => a.id == id) 会参数化
+ fsql.Select<T>().Where(a => a.id == 100) 不会参数化
+
+
+
+
+ 延时加载导航属性对象,导航属性需要声明 virtual
+
+
+
+
+ 将实体类型与数据库对比,返回DDL语句
+
+
-
+
- 获取数据库枚举类型,适用 PostgreSQL
+ 将实体类型集合与数据库对比,返回DDL语句
+
+ 实体类型
+
+
+
+
+ 将实体类型与数据库对比,返回DDL语句(指定表名)
+
+ 实体类型
+ 指定表名对比
+
+
+
+
+ 同步实体类型到数据库
+ 注意:生产环境中谨慎使用
+
+
+
+
+
+ 同步实体类型集合到数据库
+ 注意:生产环境中谨慎使用
+
+
+
+
+
+ 同步实体类型到数据库(指定表名)
+ 注意:生产环境中谨慎使用
+
+ 实体类型
+ 指定表名对比
+ 强制同步结构,无视缓存每次都同步
+
+
+
+ 根据 System.Type 获取数据库信息
+
+
+
+
+
+
+ FreeSql FluentApi 配置实体,方法名与特性相同
+
+
+
+
+
+
+
+ FreeSql FluentApi 配置实体,方法名与特性相同
+
+
+
+
+
+
+
+ 获取 FreeSql FluentApi 配置实体的元数据
+
+
+ 未使用ConfigEntity配置时,返回null
+
+
+
+ 获取实体类核心配置
+
+
+
+
+
+
+ 获取所有数据库
+
+
+
+
+
+ 获取指定数据库的表信息,包括表、列详情、主键、唯一键、索引、外键、备注
-
+
- 临时 LambdaExpression.Parameter
+ 获取指定单表信息,包括列详情、主键、唯一键、索引、备注
-
-
-
- 如果实体类有自增属性,分成两个 List,有值的Item1 merge,无值的Item2 insert
-
-
+ 表名,如:dbo.table1
+ 是否忽略大小写
-
+
- AsType, Ctor, ClearData 三处地方需要重新加载
+ 判断表是否存在
-
-
-
- AsType, Ctor, ClearData 三处地方需要重新加载
-
-
-
-
- 动态读取 DescriptionAttribute 注释文本
-
-
+ 表名,如:dbo.table1
+ 是否忽略大小写
-
+
- 通过属性的注释文本,通过 xml 读取
+ 获取数据库枚举类型int值
-
- Dict:key=属性名,value=注释
-
-
-
- 更新实体的元数据
-
-
-
-
- 执行更新的 SQL
-
-
-
-
- 执行更新命令的参数
-
-
-
-
- 执行更新命令影响的行
-
-
-
-
- 更新的实体数量
-
-
-
-
- 更新的实体
-
-
-
-
- 映射优先级,默认: Attribute > FluentApi > Aop
-
-
-
-
- 实体特性
- [Table(Name = "tabname")]
- [Column(Name = "table_id")]
-
-
-
-
- 流式接口
- fsql.CodeFirst.ConfigEntity(a => a.Name("tabname"))
- fsql.CodeFirst.ConfigEntity(a => a.Property(b => b.Id).Name("table_id"))
-
-
-
-
- AOP 特性 https://github.com/dotnetcore/FreeSql/wiki/AOP
- fsql.Aop.ConfigEntity += (_, e) => e.ModifyResult.Name = "public.tabname";
- fsql.Aop.ConfigEntityProperty += (_, e) => e.ModifyResult.Name = "table_id";
-
-
-
-
- 不进行任何处理
-
-
-
-
- 将帕斯卡命名字符串转换为下划线分隔字符串
-
- BigApple -> Big_Apple
-
-
-
-
- 将帕斯卡命名字符串转换为下划线分隔字符串,且转换为全大写
-
- BigApple -> BIG_APPLE
-
-
-
-
- 将帕斯卡命名字符串转换为下划线分隔字符串,且转换为全小写
-
- BigApple -> big_apple
-
-
-
-
- 将字符串转换为大写
-
- BigApple -> BIGAPPLE
-
-
-
-
- 将字符串转换为小写
-
- BigApple -> bigapple
-
-
-
-
- 不进行任何处理
-
-
-
-
- 将帕斯卡命名字符串转换为下划线分隔字符串
-
- BigApple -> Big_Apple
-
-
-
-
- 将帕斯卡命名字符串转换为下划线分隔字符串,且转换为全大写
-
- BigApple -> BIG_APPLE
-
-
-
-
- 将帕斯卡命名字符串转换为下划线分隔字符串,且转换为全小写
-
- BigApple -> big_apple
-
-
-
-
- 将字符串转换为大写
-
- BigApple -> BIGAPPLE
-
-
-
-
- 将字符串转换为小写
-
- BigApple -> bigapple
-
-
-
-
- 创建一个过滤器
- 提示:在 Lambda 中判断登陆身份,请参考资料 AsyncLocal
-
-
- 名字
- 表达式
+
-
+
+ 获取c#转换,(int)、(long)
+
+
diff --git a/Providers/FreeSql.Provider.ClickHouse/FreeSql.Provider.ClickHouse.csproj b/Providers/FreeSql.Provider.ClickHouse/FreeSql.Provider.ClickHouse.csproj
index d9f7580f..cf6f2a70 100644
--- a/Providers/FreeSql.Provider.ClickHouse/FreeSql.Provider.ClickHouse.csproj
+++ b/Providers/FreeSql.Provider.ClickHouse/FreeSql.Provider.ClickHouse.csproj
@@ -19,7 +19,7 @@
False
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.Custom/FreeSql.Provider.Custom.csproj b/Providers/FreeSql.Provider.Custom/FreeSql.Provider.Custom.csproj
index 34d8d271..f0ec8433 100644
--- a/Providers/FreeSql.Provider.Custom/FreeSql.Provider.Custom.csproj
+++ b/Providers/FreeSql.Provider.Custom/FreeSql.Provider.Custom.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.Dameng/FreeSql.Provider.Dameng.csproj b/Providers/FreeSql.Provider.Dameng/FreeSql.Provider.Dameng.csproj
index c9fad6f6..4114d8e8 100644
--- a/Providers/FreeSql.Provider.Dameng/FreeSql.Provider.Dameng.csproj
+++ b/Providers/FreeSql.Provider.Dameng/FreeSql.Provider.Dameng.csproj
@@ -15,7 +15,7 @@
$(AssemblyName)
true
true
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.Firebird/FreeSql.Provider.Firebird.csproj b/Providers/FreeSql.Provider.Firebird/FreeSql.Provider.Firebird.csproj
index d4fde7e4..59be4944 100644
--- a/Providers/FreeSql.Provider.Firebird/FreeSql.Provider.Firebird.csproj
+++ b/Providers/FreeSql.Provider.Firebird/FreeSql.Provider.Firebird.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.GBase/FreeSql.Provider.GBase.csproj b/Providers/FreeSql.Provider.GBase/FreeSql.Provider.GBase.csproj
index 57969a6b..663cb280 100644
--- a/Providers/FreeSql.Provider.GBase/FreeSql.Provider.GBase.csproj
+++ b/Providers/FreeSql.Provider.GBase/FreeSql.Provider.GBase.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.KingbaseES/FreeSql.Provider.KingbaseES.csproj b/Providers/FreeSql.Provider.KingbaseES/FreeSql.Provider.KingbaseES.csproj
index 06ac2c94..dcb86348 100644
--- a/Providers/FreeSql.Provider.KingbaseES/FreeSql.Provider.KingbaseES.csproj
+++ b/Providers/FreeSql.Provider.KingbaseES/FreeSql.Provider.KingbaseES.csproj
@@ -15,7 +15,7 @@
$(AssemblyName)
true
true
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj b/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj
index f4ecb86f..c31fbc84 100644
--- a/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj
+++ b/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj b/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj
index bc06c14a..a628df9f 100644
--- a/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj
+++ b/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj b/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj
index 643790d8..242381ce 100644
--- a/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj
+++ b/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj b/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj
index a7f54435..044c7d54 100644
--- a/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj
+++ b/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj b/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj
index 7d76169d..b8279a1e 100644
--- a/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj
+++ b/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.OracleOledb/FreeSql.Provider.OracleOledb.csproj b/Providers/FreeSql.Provider.OracleOledb/FreeSql.Provider.OracleOledb.csproj
index 246500ab..640ffb9a 100644
--- a/Providers/FreeSql.Provider.OracleOledb/FreeSql.Provider.OracleOledb.csproj
+++ b/Providers/FreeSql.Provider.OracleOledb/FreeSql.Provider.OracleOledb.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj b/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj
index 3865ffc8..35dee9c5 100644
--- a/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj
+++ b/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.ShenTong/FreeSql.Provider.ShenTong.csproj b/Providers/FreeSql.Provider.ShenTong/FreeSql.Provider.ShenTong.csproj
index 7a246cf9..077ddf81 100644
--- a/Providers/FreeSql.Provider.ShenTong/FreeSql.Provider.ShenTong.csproj
+++ b/Providers/FreeSql.Provider.ShenTong/FreeSql.Provider.ShenTong.csproj
@@ -15,7 +15,7 @@
$(AssemblyName)
true
true
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj b/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj
index a6e0f23a..ff05fa6c 100644
--- a/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj
+++ b/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj
@@ -18,7 +18,7 @@
true
false
key.snk
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.SqlServerForSystem/FreeSql.Provider.SqlServerForSystem.csproj b/Providers/FreeSql.Provider.SqlServerForSystem/FreeSql.Provider.SqlServerForSystem.csproj
index e883c4ed..af7b3655 100644
--- a/Providers/FreeSql.Provider.SqlServerForSystem/FreeSql.Provider.SqlServerForSystem.csproj
+++ b/Providers/FreeSql.Provider.SqlServerForSystem/FreeSql.Provider.SqlServerForSystem.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj b/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj
index 3e86cbbd..316e0e7b 100644
--- a/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj
+++ b/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826
diff --git a/Providers/FreeSql.Provider.SqliteCore/FreeSql.Provider.SqliteCore.csproj b/Providers/FreeSql.Provider.SqliteCore/FreeSql.Provider.SqliteCore.csproj
index 2945b082..36e1d514 100644
--- a/Providers/FreeSql.Provider.SqliteCore/FreeSql.Provider.SqliteCore.csproj
+++ b/Providers/FreeSql.Provider.SqliteCore/FreeSql.Provider.SqliteCore.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.666-preview20220825
+ 3.2.666-preview20220826