From 24f55fa0f40e525aa51211c260dbf37e9c762397 Mon Sep 17 00:00:00 2001
From: 2881099 <2881099@qq.com>
Date: Fri, 3 Jun 2022 16:11:56 +0800
Subject: [PATCH] v3.2.666-preview20220604 #1144
---
Directory.Build.props | 2 +-
FreeSql/FreeSql.xml | 343 ++++++++++++++++++++----------------------
2 files changed, 166 insertions(+), 179 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index 707cb40a..c4e1bb54 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -9,7 +9,7 @@
- 3.2.666-preview20220603
+ 3.2.666-preview20220604
diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml
index 7f90becd..2db205b7 100644
--- a/FreeSql/FreeSql.xml
+++ b/FreeSql/FreeSql.xml
@@ -3724,205 +3724,192 @@
状态数据,可与 CommandAfter 共享
-
-
-
-
+
- 获取c#类型,int、long
+ 发生的错误
-
-
-
+
- 获取c#类型对象
+ 执行SQL命令,返回的结果
-
-
-
+
- 获取ado.net读取方法, GetBoolean、GetInt64
+ 耗时(单位:Ticks)
-
-
-
+
- 序列化
+ 耗时(单位:毫秒)
-
-
-
+
- 反序列化
+ 标识符,可将 TraceBeforeEventArgs 与 TraceAfterEventArgs 进行匹配
-
+
+
+
+ 状态数据,可与 TraceAfter 共享
+
+
+
+
+ 备注
+
+
+
+
+ 发生的错误
+
+
+
+
+ 耗时(单位: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
-
-
-
-
-
-
- AsType, Ctor, ClearData 三处地方需要重新加载
-
-
-
-
- AsType, Ctor, ClearData 三处地方需要重新加载
-
-
-
-
- 动态读取 DescriptionAttribute 注释文本
-
-
-
-
-
-
- 通过属性的注释文本,通过 xml 读取
-
-
- 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
-
-
-
获取指定单表信息,包括列详情、主键、唯一键、索引、备注