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 - - - 获取指定单表信息,包括列详情、主键、唯一键、索引、备注