update

28810
2020-01-04 17:28:12 +08:00
parent a7ec17666b
commit 4d7469bac5
5 changed files with 14 additions and 14 deletions

@@ -1,4 +1,4 @@
FreeSql.Repository 作为扩展,实了通用仓储层功能。与其他规范标准一样仓储层也有相应的规范定义。FreeSql.Repository 参考 abp vnext 接口定义和实现基础的仓储层CURD应该算比较通用的方法吧。 FreeSql.Repository 作为扩展,实了通用仓储层功能。与其他规范标准一样仓储层也有相应的规范定义。FreeSql.Repository 参考 abp vnext 接口定义和实现基础的仓储层CURD应该算比较通用的方法吧。
## 安装 ## 安装
@@ -30,7 +30,7 @@ var curd2 = fsql.GetGuidRepository<Song>();
> 注意BaseRepository 对象多线程不安全 > 注意BaseRepository 对象多线程不安全
2、继承实; 2、继承实
```csharp ```csharp
public class SongRepository : BaseRepository<Song, int> { public class SongRepository : BaseRepository<Song, int> {

@@ -238,7 +238,7 @@ fsql.CodeFirst.SyncStructure(typeof(Log), "Log_2"); //迁移到 Log_2 表
## v0.10.13 ## v0.10.13
- 修复 postgresql 12 移除 pg_attrdef.adsrc 列,导致 CodeFirst 方法失败的 bug - 修复 postgresql 12 移除 pg_attrdef.adsrc 列,导致 CodeFirst 方法失败的 bug
- 增加 Aop.ConfigEntity 属性 ModifyIndexResult 实 IndexAttribute 的设置; - 增加 Aop.ConfigEntity 属性 ModifyIndexResult 实 IndexAttribute 的设置;
## v0.10.12 ## v0.10.12
@@ -689,7 +689,7 @@ class Topic {
- 优化内部 QuoteSqlName 方法;当参数值是 (xxx)则直接返回原形。如xxx => [xxx](max(1)) => (max(1)) - 优化内部 QuoteSqlName 方法;当参数值是 (xxx)则直接返回原形。如xxx => [xxx](max(1)) => (max(1))
> 可实现功能orm.Select\<xxx\>().AsTable((a,b) => "select * from xxx").Page(1, 20).ToSql() > 可实现功能orm.Select\<xxx\>().AsTable((a,b) => "select * from xxx").Page(1, 20).ToSql()
- 增加 Oracle IDbFirst 接口实现; - 增加 Oracle IDbFirst 接口实现;
- 补充 开放 IUpdate UpdateColumns 方法功能,实更新实体时,只更新指定的列(与 IgnoreColumns 对应); - 补充 开放 IUpdate UpdateColumns 方法功能,实更新实体时,只更新指定的列(与 IgnoreColumns 对应);
## v0.4.13 ## v0.4.13
@@ -746,7 +746,7 @@ class Topic {
## v0.3.25 ## v0.3.25
- 修复 全局过滤器一个赋值低级错误; - 修复 全局过滤器一个赋值低级错误;
- 增加 IFreeSql\<TMark\> 空接口,实多个 IFreeSql 注入使用,使用泛型标识区分; - 增加 IFreeSql\<TMark\> 空接口,实多个 IFreeSql 注入使用,使用泛型标识区分;
## v0.3.24 ## v0.3.24
@@ -889,7 +889,7 @@ repos.DataFilter.Apply("name", a => a.Id > 1) 附加新的过滤器
## v0.1.7 ## v0.1.7
- FreeSql.Repository 增加 filter 参数,实数据过滤 + 验证; - FreeSql.Repository 增加 filter 参数,实数据过滤 + 验证;
var postRepos = fsql.GetGuidRepository<Post>(a => a.TopicId == 1); postRepos CURD 方法都会以 lambda 条件作为查询或验证Update/Insert验证错误时会抛出异常。 var postRepos = fsql.GetGuidRepository<Post>(a => a.TopicId == 1); postRepos CURD 方法都会以 lambda 条件作为查询或验证Update/Insert验证错误时会抛出异常。
- ISelect 增加 First/FirstAsync - ISelect 增加 First/FirstAsync
@@ -911,7 +911,7 @@ repos.DataFilter.Apply("name", a => a.Id > 1) 附加新的过滤器
## v0.1.3 ## v0.1.3
- FreeSql.Repository Insert 方法判断数据库类型,由于 MySql/Oracle/Sqlite 不支持 returning 或 output 类型的特性,因此不作实定义为 virtual 交给外部(不包括 PostgreSQL/SqlServer - FreeSql.Repository Insert 方法判断数据库类型,由于 MySql/Oracle/Sqlite 不支持 returning 或 output 类型的特性,因此不作实定义为 virtual 交给外部(不包括 PostgreSQL/SqlServer
## v0.1.2 ## v0.1.2
@@ -924,7 +924,7 @@ repos.DataFilter.Apply("name", a => a.Id > 1) 附加新的过滤器
## v0.1.0 ## v0.1.0
- 增加 FreeSql.Repository 扩展库,实实体类的默认仓储; - 增加 FreeSql.Repository 扩展库,实实体类的默认仓储;
- 增加主键命名约定在没有设置主键的情况下Id 或 \<type name\>Id 或 \<type name\>_Id 或 自增列 会成为主键; - 增加主键命名约定在没有设置主键的情况下Id 或 \<type name\>Id 或 \<type name\>_Id 或 自增列 会成为主键;
- 实体特性 Column 增加 IsIgnore 忽略达到不映射的目的; - 实体特性 Column 增加 IsIgnore 忽略达到不映射的目的;
- 增加 repository_01 示例项目,演示 FreeSql.Repository - 增加 repository_01 示例项目,演示 FreeSql.Repository
@@ -934,12 +934,12 @@ repos.DataFilter.Apply("name", a => a.Id > 1) 附加新的过滤器
- ICodeFirst.ConfigEntity 可更新实体配置已缓存的数据; - ICodeFirst.ConfigEntity 可更新实体配置已缓存的数据;
- 防止同连接字符串被IFreeSql使用多次发生连接池溢出bugado.net连接池原理减少解释成本 - 防止同连接字符串被IFreeSql使用多次发生连接池溢出bugado.net连接池原理减少解释成本
- 增加 efcore_to_freesql 示例项目,实与 EFCore 实体共存; - 增加 efcore_to_freesql 示例项目,实与 EFCore 实体共存;
## v0.0.13 ## v0.0.13
- 修复和丰富 ICodeFirst.ConfigEntity 方法; - 修复和丰富 ICodeFirst.ConfigEntity 方法;
- 增加 FreeSql.Extensions.EFCoreModelBuilder 扩展库,实与 EFCore 实体共存 [#4](https://github.com/2881099/FreeSql/issues/4) - 增加 FreeSql.Extensions.EFCoreModelBuilder 扩展库,实与 EFCore 实体共存 [#4](https://github.com/2881099/FreeSql/issues/4)
- 增加 restful 示例项目; - 增加 restful 示例项目;
## v0.0.12 ## v0.0.12

@@ -60,7 +60,7 @@ FreeSql 适配了每一种数据类型参数化,和不参数化的使用。批
## ExecuteSqlBulkCopy、ExecutePgCopy ## ExecuteSqlBulkCopy、ExecutePgCopy
v1.0.0 版本增加了 Bulk Copy 操作,以扩展方法的形式实,目前只能在 FreeSql.Provider.SqlServer/FreeSql.Provider.PostgreSQL 上可用,针对 SqlServer/PostgreSQL 数据库。 v1.0.0 版本增加了 Bulk Copy 操作,以扩展方法的形式实,目前只能在 FreeSql.Provider.SqlServer/FreeSql.Provider.PostgreSQL 上可用,针对 SqlServer/PostgreSQL 数据库。
### 批量插入测试结果(52个字段) ### 批量插入测试结果(52个字段)

@@ -6,7 +6,7 @@
### 方案一:按租户字段区分 ### 方案一:按租户字段区分
FreeSql.Repository 实了 filter过滤与验证功能 FreeSql.Repository 实了 filter过滤与验证功能
```csharp ```csharp
var topicRepos = fsql.GetGuidRepository<Topic>(t => t.TerantId == 1); var topicRepos = fsql.GetGuidRepository<Topic>(t => t.TerantId == 1);
@@ -55,7 +55,7 @@ WHERE t1.IsDeleted = 0
### 方案二:按租户分表 ### 方案二:按租户分表
FreeSql.Repository 实了 分表功能,如: FreeSql.Repository 实了 分表功能,如:
```csharp ```csharp
var tenantId = 1; var tenantId = 1;

@@ -2,7 +2,7 @@
# 机制规则 # 机制规则
【一对多】模型下, 保存时可联级保存实体的属性集合。出于使用安全考虑我们没做完整对比,只实实体属性集合的添加或更新操作,所以不会删除实体属性集合的数据。 【一对多】模型下, 保存时可联级保存实体的属性集合。出于使用安全考虑我们没做完整对比,只实实体属性集合的添加或更新操作,所以不会删除实体属性集合的数据。
完整对比的功能使用起来太危险,试想下面的场景: 完整对比的功能使用起来太危险,试想下面的场景:
- 保存的时候,实体属性集合是空的,如何操作?记录全部删除? - 保存的时候,实体属性集合是空的,如何操作?记录全部删除?