diff --git a/Repository.md b/Repository.md index bc0fef2..2453ff7 100644 --- a/Repository.md +++ b/Repository.md @@ -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(); > 注意:BaseRepository 对象多线程不安全 -2、继承现实; +2、继承实现; ```csharp public class SongRepository : BaseRepository { diff --git a/更新日志.md b/更新日志.md index c5d657f..4e9d6d3 100644 --- a/更新日志.md +++ b/更新日志.md @@ -238,7 +238,7 @@ fsql.CodeFirst.SyncStructure(typeof(Log), "Log_2"); //迁移到 Log_2 表 ## v0.10.13 - 修复 postgresql 12 移除 pg_attrdef.adsrc 列,导致 CodeFirst 方法失败的 bug; -- 增加 Aop.ConfigEntity 属性 ModifyIndexResult 现实 IndexAttribute 的设置; +- 增加 Aop.ConfigEntity 属性 ModifyIndexResult 实现 IndexAttribute 的设置; ## v0.10.12 @@ -689,7 +689,7 @@ class Topic { - 优化内部 QuoteSqlName 方法;当参数值是 (xxx),则直接返回原形。如:xxx => [xxx],(max(1)) => (max(1)); > 可实现功能,如:orm.Select\().AsTable((a,b) => "select * from xxx").Page(1, 20).ToSql() - 增加 Oracle IDbFirst 接口实现; -- 补充 开放 IUpdate UpdateColumns 方法功能,现实更新实体时,只更新指定的列(与 IgnoreColumns 对应); +- 补充 开放 IUpdate UpdateColumns 方法功能,实现更新实体时,只更新指定的列(与 IgnoreColumns 对应); ## v0.4.13 @@ -746,7 +746,7 @@ class Topic { ## v0.3.25 - 修复 全局过滤器一个赋值低级错误; -- 增加 IFreeSql\ 空接口,现实多个 IFreeSql 注入使用,使用泛型标识区分; +- 增加 IFreeSql\ 空接口,实现多个 IFreeSql 注入使用,使用泛型标识区分; ## v0.3.24 @@ -889,7 +889,7 @@ repos.DataFilter.Apply("name", a => a.Id > 1) 附加新的过滤器 ## v0.1.7 -- FreeSql.Repository 增加 filter 参数,现实数据过滤 + 验证; +- FreeSql.Repository 增加 filter 参数,实现数据过滤 + 验证; 如:var postRepos = fsql.GetGuidRepository(a => a.TopicId == 1); postRepos CURD 方法都会以 lambda 条件作为查询或验证,Update/Insert验证错误时会抛出异常。 - ISelect 增加 First/FirstAsync; @@ -911,7 +911,7 @@ repos.DataFilter.Apply("name", a => a.Id > 1) 附加新的过滤器 ## 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 @@ -924,7 +924,7 @@ repos.DataFilter.Apply("name", a => a.Id > 1) 附加新的过滤器 ## v0.1.0 -- 增加 FreeSql.Repository 扩展库,现实实体类的默认仓储; +- 增加 FreeSql.Repository 扩展库,实现实体类的默认仓储; - 增加主键命名约定:在没有设置主键的情况下,Id 或 \Id 或 \_Id 或 自增列 会成为主键; - 实体特性 Column 增加 IsIgnore 忽略达到不映射的目的; - 增加 repository_01 示例项目,演示 FreeSql.Repository; @@ -934,12 +934,12 @@ repos.DataFilter.Apply("name", a => a.Id > 1) 附加新的过滤器 - ICodeFirst.ConfigEntity 可更新实体配置已缓存的数据; - 防止同连接字符串被IFreeSql使用多次,发生连接池溢出bug(ado.net连接池原理,减少解释成本); -- 增加 efcore_to_freesql 示例项目,现实与 EFCore 实体共存; +- 增加 efcore_to_freesql 示例项目,实现与 EFCore 实体共存; ## v0.0.13 - 修复和丰富 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 示例项目; ## v0.0.12 diff --git a/添加.md b/添加.md index 7ae1e80..173d7dd 100644 --- a/添加.md +++ b/添加.md @@ -60,7 +60,7 @@ FreeSql 适配了每一种数据类型参数化,和不参数化的使用。批 ## 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个字段) diff --git a/租户.md b/租户.md index 336661c..af03745 100644 --- a/租户.md +++ b/租户.md @@ -6,7 +6,7 @@ ### 方案一:按租户字段区分 -FreeSql.Repository 现实了 filter(过滤与验证)功能,如: +FreeSql.Repository 实现了 filter(过滤与验证)功能,如: ```csharp var topicRepos = fsql.GetGuidRepository(t => t.TerantId == 1); @@ -55,7 +55,7 @@ WHERE t1.IsDeleted = 0 ### 方案二:按租户分表 -FreeSql.Repository 现实了 分表功能,如: +FreeSql.Repository 实现了 分表功能,如: ```csharp var tenantId = 1; diff --git a/联级保存.md b/联级保存.md index 62d09ea..43157e7 100644 --- a/联级保存.md +++ b/联级保存.md @@ -2,7 +2,7 @@ # 机制规则 -【一对多】模型下, 保存时可联级保存实体的属性集合。出于使用安全考虑我们没做完整对比,只实现实体属性集合的添加或更新操作,所以不会删除实体属性集合的数据。 +【一对多】模型下, 保存时可联级保存实体的属性集合。出于使用安全考虑我们没做完整对比,只实实现体属性集合的添加或更新操作,所以不会删除实体属性集合的数据。 完整对比的功能使用起来太危险,试想下面的场景: - 保存的时候,实体属性集合是空的,如何操作?记录全部删除?