diff --git a/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj b/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj index 9e2a9dfb5..7ae6ab011 100644 --- a/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj +++ b/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj @@ -2,7 +2,7 @@ netcoreapp31;netcoreapp21;net4.0; - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin BaseEntity 是一种极简单的 CodeFirst 开发方式,特别对单表或多表CRUD,利用继承节省了每个实体类的重复属性(创建时间、ID等字段),软件删除等功能,进行 crud 操作时不必时常考虑仓储的使用. diff --git a/Extensions/FreeSql.Extensions.EfCoreFluentApi/FreeSql.Extensions.EfCoreFluentApi.csproj b/Extensions/FreeSql.Extensions.EfCoreFluentApi/FreeSql.Extensions.EfCoreFluentApi.csproj index 77af11e02..66c4f9ea9 100644 --- a/Extensions/FreeSql.Extensions.EfCoreFluentApi/FreeSql.Extensions.EfCoreFluentApi.csproj +++ b/Extensions/FreeSql.Extensions.EfCoreFluentApi/FreeSql.Extensions.EfCoreFluentApi.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql 扩展包实现,使用 FluentApi 方式配置实体模型,使用习惯接近 EFCore,方便过渡. diff --git a/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj b/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj index 42fdf94fd..ffb0139cc 100644 --- a/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj +++ b/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45;net40 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql 扩展包,可实现实体类属性为对象时,以JSON形式映射存储. diff --git a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj index 1ec758935..76816a848 100644 --- a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj +++ b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45;net40 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql 扩展包,可实现【延时加载】属性. diff --git a/Extensions/FreeSql.Generator/FreeSql.Generator.csproj b/Extensions/FreeSql.Generator/FreeSql.Generator.csproj index e5ad3b636..fffe53940 100644 --- a/Extensions/FreeSql.Generator/FreeSql.Generator.csproj +++ b/Extensions/FreeSql.Generator/FreeSql.Generator.csproj @@ -12,7 +12,7 @@ 使用 FreeSql 快速生成数据库的实体类,安装:dotnet tool install -g FreeSql.Generator https://github.com/2881099/FreeSql https://github.com/2881099/FreeSql - 1.1.0-preview4 + 1.1.0-preview5 FreeSql DbFirst 实体生成器 diff --git a/FreeSql.All/FreeSql.All.csproj b/FreeSql.All/FreeSql.All.csproj index 7b6bffd99..3767f86cc 100644 --- a/FreeSql.All/FreeSql.All.csproj +++ b/FreeSql.All/FreeSql.All.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45;net40 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql 全家桶,懒人专用 diff --git a/FreeSql.DbContext/FreeSql.DbContext.csproj b/FreeSql.DbContext/FreeSql.DbContext.csproj index fa256b25f..af30b255c 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.csproj +++ b/FreeSql.DbContext/FreeSql.DbContext.csproj @@ -2,7 +2,7 @@ netstandard2.0;netcoreapp31;netcoreapp22;netcoreapp21;net45;net40 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql is the ORM in .NetCore, .NetFramework, And Xamarin. It supports Mysql, Postgresql, SqlServer, Oracle, Sqlite, Odbc, 达梦, And Access diff --git a/FreeSql.Repository/FreeSql.Repository.csproj b/FreeSql.Repository/FreeSql.Repository.csproj index 6085152f6..f00534074 100644 --- a/FreeSql.Repository/FreeSql.Repository.csproj +++ b/FreeSql.Repository/FreeSql.Repository.csproj @@ -2,7 +2,7 @@ netstandard2.0;netcoreapp31;netcoreapp22;netcoreapp21;net45;net40 - 1.1.0-preview4 + 1.1.0-preview5 YeXiangQin FreeSql Implementation of General Repository, Support MySql/SqlServer/PostgreSQL/Oracle/Sqlite/达梦/Access, and read/write separation、and split table. https://github.com/2881099/FreeSql/wiki/Repository diff --git a/FreeSql/FreeSql.csproj b/FreeSql/FreeSql.csproj index 4905ae1a4..22f605c70 100644 --- a/FreeSql/FreeSql.csproj +++ b/FreeSql/FreeSql.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45;net40 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql is the ORM in .NetCore, .NetFramework, And Xamarin. It supports Mysql, Postgresql, SqlServer, Oracle, Sqlite, Odbc, 达梦, And Access diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml index df8d24437..59e0a2ec7 100644 --- a/FreeSql/FreeSql.xml +++ b/FreeSql/FreeSql.xml @@ -2546,196 +2546,199 @@ 耗时(单位:Ticks) - - + + + 耗时(单位:毫秒) + - + - 获取数据库枚举类型int值 + 类型 - - - + - 获取c#转换,(int)、(long) + 属性列的元数据 - - - + - 获取c#值 + 反射的属性信息 - - - + - 获取c#类型,int、long + 获取实体的属性值,也可以设置实体的属性新值 - - - + - 获取c#类型对象 + 【开发环境必备】自动同步实体结构到数据库,程序运行中检查实体表是否存在,然后创建或修改 - - - + - 获取ado.net读取方法, GetBoolean、GetInt64 + 转小写同步结构 - - - + - 序列化 + 转大写同步结构 - + + + + 将数据库的主键、自增、索引设置导入,适用 DbFirst 模式,无须在实体类型上设置 [Column(IsPrimary)] 或者 ConfigEntity。此功能目前可用于 mysql/sqlserver/postgresql/oracle。 + 本功能会影响 IFreeSql 首次访问的速度。 + 若使用 CodeFirst 创建索引后,又直接在数据库上建了索引,若无本功能下一次 CodeFirst 迁移时数据库上创建的索引将被删除 + + + + + 不使用命令参数化执行,针对 Insert/Update + + + + + 是否生成命令参数化执行,针对 lambda 表达式解析 + + + + + 延时加载导航属性对象,导航属性需要声明 virtual + + + + + 将实体类型与数据库对比,返回DDL语句 + + - + - 反序列化 + 将实体类型集合与数据库对比,返回DDL语句 - + 实体类型 - + - 获取数据库枚举类型,适用 PostgreSQL + 将实体类型与数据库对比,返回DDL语句(指定表名) - + 实体类型 + 指定表名对比 - + - AsType, Ctor, ClearData 三处地方需要重新加载 + 同步实体类型到数据库 + + - + - AsType, Ctor, ClearData 三处地方需要重新加载 + 同步实体类型集合到数据库 + + - + - 通过属性的注释文本,通过 xml 读取 + 同步实体类型到数据库(指定表名) - - Dict:key=属性名,value=注释 + 实体类型 + 指定表名对比 + - + - 创建一个过滤器 + 根据 System.Type 获取数据库信息 - - 名字 - 表达式 + - + - 中间表,多对多 + 在外部配置实体的特性 + + + - + - 不进行任何处理 + 在外部配置实体的特性 + + + - + - 将帕斯卡命名字符串转换为下划线分隔字符串 - - BigApple -> Big_Apple + 获取在外部配置实体的特性 + + 未使用ConfigEntity配置时,返回null - + - 将帕斯卡命名字符串转换为下划线分隔字符串,且转换为全大写 - - BigApple -> BIG_APPLE + 获取实体类核心配置 + + - + - 将帕斯卡命名字符串转换为下划线分隔字符串,且转换为全小写 - - BigApple -> big_apple + 获取所有数据库 + - + - 将字符串转换为大写 - - BigApple -> BIGAPPLE + 获取指定数据库的表信息,包括表、列详情、主键、唯一键、索引、外键、备注 + + - + - 将字符串转换为小写 - - BigApple -> bigapple + 获取数据库枚举类型int值 + + - + - 将帕斯卡命名字符串转换为下划线分隔字符串 - - BigApple -> Big_Apple + 获取c#转换,(int)、(long) - + - + - C#: that >= between && that <= and - SQL: that BETWEEN between AND and + 获取c#值 - - - + - + - 注意:这个方法和 Between 有细微区别 - C#: that >= start && that < end - SQL: that >= start and that < end + 获取c#类型,int、long - - - + - + - C#:从元组集合中查找 exp1, exp2 是否存在 - SQL: - exp1 = that[0].Item1 and exp2 = that[0].Item2 OR - exp1 = that[1].Item1 and exp2 = that[1].Item2 OR - ... - 注意:当 that 为 null 或 empty 时,返回 1=0 + 获取c#类型对象 - - - - - + - + - C#:从元组集合中查找 exp1, exp2, exp2 是否存在 - SQL: - exp1 = that[0].Item1 and exp2 = that[0].Item2 and exp3 = that[0].Item3 OR - exp1 = that[1].Item1 and exp2 = that[1].Item2 aummary> 获取ado.net读取方法, GetBoolean、GetInt64 @@ -2835,181 +2838,170 @@ - 将帕斯系映射,如: .IncludeMany(a => a.Tags.Where(tag => tag.TypeId == a.Id)) - 可以 .Take(5) 每个子集合只取5条,如: .IncludeMany(a => a.Tags.Take(5)) - 可以 .Select 设置只查询部分字段,如: (a => new TNavigate { Title = a.Title }) - - 即能 ThenInclude,还可以二次过滤(这个 EFCore 做不到?) - - - - - 使用 and 拼接两个 lambda 表达式 + 将帕斯卡命名字符串转换为下划线分隔字符串 + + BigApple -> Big_Apple + - + - 使用 and 拼接两个 lambda 表达式 + C#: that >= between && that <= and + SQL: that BETWEEN between AND and - - - true 时生效 - + + + - + - 使用 or 拼接两个 lambda 表达式 + 注意:这个方法和 Between 有细微区别 + C#: that >= start && that < end + SQL: that >= start and that < end + + + - + - 使用 or 拼接两个 lambda 表达式 + C#:从元组集合中查找 exp1, exp2 是否存在 + SQL: + exp1 = that[0].Item1 and exp2 = that[0].Item2 OR + exp1 = that[1].Item1 and exp2 = that[1].Item2 OR + ... + 注意:当 that 为 null 或 empty 时,返回 1=0 - + + + - true 时生效 - + - 将 lambda 表达式取反 + C#:从元组集合中查找 exp1, exp2, exp2 是否存在 + SQL: + exp1 = that[0].Item1 and exp2 = that[0].Item2 and exp3 = that[0].Item3 OR + exp1 = that[1].Item1 and exp2 = that[1].Item2 and exp3 = that[1].Item3 OR + ... + 注意:当 that 为 null 或 empty 时,返回 1=0 - - - true 时生效 + + + + + + + - + - 生成类似Mongodb的ObjectId有序、不重复Guid + 测量两个经纬度的距离,返回单位:米 - + 经纬坐标1 + 经纬坐标2 + 返回距离(单位:米) - + - 插入数据 + 将 IEnumable<T> 转成 ISelect<T>,以便使用 FreeSql 的查询功能。此方法用于 Lambad 表达式中,快速进行集合导航的查询。 - + + - + - 插入数据,传入实体 + 多表查询 - - - + - 插入数据,传入实体数组 + 多表查询 - - - + - 插入数据,传入实体集合 + 多表查询 - - - + - 插入数据,传入实体集合 + 多表查询 - - - + - 修改数据 + 多表查询 - - + - 修改数据,传入动态对象如:主键值 | new[]{主键值1,主键值2} | TEntity1 | new[]{TEntity1,TEntity2} | new{id=1} + 多表查询 - - 主键值、主键值集合、实体、实体集合、匿名对象、匿名对象集合 - + - 查询数据 + 多表查询 - - + - 查询数据,传入动态对象如:主键值 | new[]{主键值1,主键值2} | TEntity1 | new[]{TEntity1,TEntity2} | new{id=1} + 多表查询 - - 主键值、主键值集合、实体、实体集合、匿名对象、匿名对象集合 - + - 删除数据 + 多表查询 - - + - 删除数据,传入动态对象如:主键值 | new[]{主键值1,主键值2} | TEntity1 | new[]{TEntity1,TEntity2} | new{id=1} + 本方法实现从已知的内存 List 数据,进行和 ISelect.IncludeMany 相同功能的贪婪加载 + 示例:new List<Song>(new[] { song1, song2, song3 }).IncludeMany(g.sqlite, a => a.Tags); + 文档:https://github.com/2881099/FreeSql/wiki/%e8%b4%aa%e5%a9%aa%e5%8a%a0%e8%bd%bd#%E5%AF%BC%E8%88%AA%E5%B1%9E%E6%80%A7-onetomanymanytomany - - 主键值、主键值集合、实体、实体集合、匿名对象、匿名对象集合 + + 选择一个集合的导航属性,如: .IncludeMany(a => a.Tags) + 可以 .Where 设置临时的关系映射,如: .IncludeMany(a => a.Tags.Where(tag => tag.TypeId == a.Id)) + 可以 .Take(5) 每个子集合只取5条,如: .IncludeMany(a => a.Tags.Take(5)) + 可以 .Select 设置只查询部分字段,如: (a => new TNavigate { Title = a.Title }) + + 即能 ThenInclude,还可以二次过滤(这个 EFCore 做不到?) - - - 开启事务(不支持异步),60秒未执行完成(可能)被其他线程事务自动提交 - - 事务体 () => {} - - - - 开启事务(不支持异步) - - 超时,未执行完成(可能)被其他线程事务自动提交 - 事务体 () => {} - - - - 开启事务(不支持异步) - - - 事务体 () => {} - 超时,未执行完成(可能)被其他线程事务自动提交 - - - - 数据库访问对象 - - - + - 所有拦截方法都在这里 + 使用 and 拼接两个 lambda 表达式 + - + - CodeFirst 模式开发相关方法 + 使用 and 拼接两个 lambda 表达式 + + + true 时生效 + + - + 使用 or 拼接两个 lambda 表达式 diff --git a/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj b/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj index d54d3a4a4..c27fdee72 100644 --- a/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj +++ b/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45;net40 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql 数据库 Ms Access 实现 diff --git a/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj b/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj index af0f1ed04..14f8f8f72 100644 --- a/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj +++ b/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj @@ -2,7 +2,7 @@ netstandard2.0;net452;net451;net45;net40 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql 数据库实现,基于 MySql 5.6 diff --git a/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj b/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj index 2363901b0..c15002a13 100644 --- a/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj +++ b/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql 数据库实现,基于 MySql 5.6 diff --git a/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj b/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj index a3fc3ea79..3e701a274 100644 --- a/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj +++ b/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45;net40 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql 数据库 Odbc 实现,基于 {Oracle}、{SQL Server}、{MySQL ODBC 8.0 Unicode Driver}、{PostgreSQL Unicode(x64)}、{DM8 ODBC Driver} 专用访问实现,以及通用 Odbc 访问所有数据库 diff --git a/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj b/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj index 00ea93834..ab6faa183 100644 --- a/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj +++ b/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45;net40 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql 数据库实现,基于 Oracle 11 diff --git a/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj b/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj index 61be0272a..16f577ed5 100644 --- a/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj +++ b/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj @@ -2,7 +2,7 @@ netstandard2.0;net461;net452;net451;net45 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql 数据库实现,基于 PostgreSQL 9.5 diff --git a/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj b/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj index 5763c94da..1317f9cbd 100644 --- a/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj +++ b/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj @@ -2,7 +2,7 @@ netstandard2.0;net451;net45;net40 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql 数据库实现,基于 SqlServer 2005+,并根据版本适配分页方法:row_number 或 offset fetch next diff --git a/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj b/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj index 48bf9f848..fea8408a1 100644 --- a/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj +++ b/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45;net40 - 1.1.0-preview4 + 1.1.0-preview5 true YeXiangQin FreeSql 数据库实现,基于 Sqlite 3.0,支持 .NetCore、.NetFramework、Xamarin