mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-04 23:40:53 +08:00
update
@@ -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 对象多线程不安全
|
||||
|
||||
2、继承现实;
|
||||
2、继承实现;
|
||||
|
||||
```csharp
|
||||
public class SongRepository : BaseRepository<Song, int> {
|
||||
|
||||
16
更新日志.md
16
更新日志.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\<xxx\>().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\<TMark\> 空接口,现实多个 IFreeSql 注入使用,使用泛型标识区分;
|
||||
- 增加 IFreeSql\<TMark\> 空接口,实现多个 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<Post>(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 或 \<type name\>Id 或 \<type name\>_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
|
||||
|
||||
2
添加.md
2
添加.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个字段)
|
||||
|
||||
|
||||
4
租户.md
4
租户.md
@@ -6,7 +6,7 @@
|
||||
|
||||
### 方案一:按租户字段区分
|
||||
|
||||
FreeSql.Repository 现实了 filter(过滤与验证)功能,如:
|
||||
FreeSql.Repository 实现了 filter(过滤与验证)功能,如:
|
||||
|
||||
```csharp
|
||||
var topicRepos = fsql.GetGuidRepository<Topic>(t => t.TerantId == 1);
|
||||
@@ -55,7 +55,7 @@ WHERE t1.IsDeleted = 0
|
||||
|
||||
### 方案二:按租户分表
|
||||
|
||||
FreeSql.Repository 现实了 分表功能,如:
|
||||
FreeSql.Repository 实现了 分表功能,如:
|
||||
|
||||
```csharp
|
||||
var tenantId = 1;
|
||||
|
||||
2
联级保存.md
2
联级保存.md
@@ -2,7 +2,7 @@
|
||||
|
||||
# 机制规则
|
||||
|
||||
【一对多】模型下, 保存时可联级保存实体的属性集合。出于使用安全考虑我们没做完整对比,只实现实体属性集合的添加或更新操作,所以不会删除实体属性集合的数据。
|
||||
【一对多】模型下, 保存时可联级保存实体的属性集合。出于使用安全考虑我们没做完整对比,只实实现体属性集合的添加或更新操作,所以不会删除实体属性集合的数据。
|
||||
|
||||
完整对比的功能使用起来太危险,试想下面的场景:
|
||||
- 保存的时候,实体属性集合是空的,如何操作?记录全部删除?
|
||||
|
||||
Reference in New Issue
Block a user