From 2db061b27cd3e2d656dc734d6aa0f3c65b6697b5 Mon Sep 17 00:00:00 2001
From: 28810 <28810@YEXIANGQIN>
Date: Fri, 24 Apr 2020 23:13:50 +0800
Subject: [PATCH] update readme
---
FreeSql.DbContext/FreeSql.DbContext.xml | 9 ++
FreeSql.DbContext/UnitOfWork/IUnitOfWork.cs | 13 +-
FreeSql/FreeSql.xml | 143 ++++++++++++++++++++
readme.md | 47 +++----
4 files changed, 182 insertions(+), 30 deletions(-)
diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index 67d4eb4a..650dae1f 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -481,5 +481,14 @@
+
+
+ 批量注入 Repository,可以参考代码自行调整
+
+
+
+
+
+
diff --git a/FreeSql.DbContext/UnitOfWork/IUnitOfWork.cs b/FreeSql.DbContext/UnitOfWork/IUnitOfWork.cs
index dfc5e034..be92522b 100644
--- a/FreeSql.DbContext/UnitOfWork/IUnitOfWork.cs
+++ b/FreeSql.DbContext/UnitOfWork/IUnitOfWork.cs
@@ -20,26 +20,29 @@ namespace FreeSql
IsolationLevel? IsolationLevel { get; set; }
- ///
- /// 是否启用工作单元
- ///
- bool Enable { get; }
-
void Commit();
void Rollback();
+ ///
+ /// 是否启用工作单元
+ ///
+ [Obsolete("即将删除(保留到2020-08-01),请改用 UnitOfWorkManager 的方式管理事务 https://github.com/dotnetcore/FreeSql/issues/289")]
+ bool Enable { get; }
+
///
/// 禁用工作单元
///
///
/// 若已开启事务(已有Insert/Update/Delete操作),调用此方法将发生异常,建议在执行逻辑前调用
///
+ [Obsolete("即将删除(保留到2020-08-01),请改用 UnitOfWorkManager 的方式管理事务 https://github.com/dotnetcore/FreeSql/issues/289")]
void Close();
///
/// 开启工作单元
///
+ [Obsolete("即将删除(保留到2020-08-01),请改用 UnitOfWorkManager 的方式管理事务 https://github.com/dotnetcore/FreeSql/issues/289")]
void Open();
///
diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml
index 48b7b879..d6b6f1a8 100644
--- a/FreeSql/FreeSql.xml
+++ b/FreeSql/FreeSql.xml
@@ -2310,6 +2310,137 @@
+
+
+ 查询,若使用读写分离,查询【从库】条件cmdText.StartsWith("SELECT "),否则查询【主库】
+
+
+
+
+
+
+
+
+ 查询,ExecuteReaderAsync(dr => {}, "select * from user where age > ?age", new { age = 25 })
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+ 查询,ExecuteArrayAsync("select * from user where age > ?age", new { age = 25 })
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+ 查询,ExecuteDataSetAsync("select * from user where age > ?age; select 2", new { age = 25 })
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+ 查询,ExecuteDataTableAsync("select * from user where age > ?age", new { age = 25 })
+
+
+
+
+
+
+
+ 在【主库】执行
+
+
+
+
+
+
+
+ 在【主库】执行,ExecuteNonQueryAsync("delete from user where age > ?age", new { age = 25 })
+
+
+
+
+
+
+
+ 在【主库】执行
+
+
+
+
+
+
+
+ 在【主库】执行,ExecuteScalarAsync("select 1 from user where age > ?age", new { age = 25 })
+
+
+
+
+
+
+
+ 执行SQL返回对象集合,QueryAsync<User>("select * from user where age > ?age", new SqlParameter { ParameterName = "age", Value = 25 })
+
+
+
+
+
+
+
+
+
+ 执行SQL返回对象集合,QueryAsync<User>("select * from user where age > ?age", new { age = 25 })
+
+
+
+
+
+
+
+
+ 执行SQL返回对象集合,Query<User>("select * from user where age > ?age; select * from address", new SqlParameter { ParameterName = "age", Value = 25 })
+
+
+
+
+
+
+
+
+
+ 执行SQL返回对象集合,Query<User>("select * from user where age > ?age; select * from address", new { age = 25 })
+
+
+
+
+
+
可自定义解析表达式
@@ -2830,6 +2961,12 @@
超时
+
+
+ 获取资源
+
+
+
使用完毕后,归还资源
@@ -2900,6 +3037,12 @@
资源对象
+
+
+ 从对象池获取对象成功的时候触发,通过该方法统计或初始化对象
+
+ 资源对象
+
归还对象给对象池的时候触发
diff --git a/readme.md b/readme.md
index 3e0575d3..9b87db43 100644
--- a/readme.md
+++ b/readme.md
@@ -1,5 +1,5 @@
-
+
FreeSql 是功能强大的对象关系映射技术(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.0+ 或 Xamarin
@@ -8,7 +8,7 @@ FreeSql 是功能强大的对象关系映射技术(O/RM),支持 .NETCore 2.1+
[](https://www.nuget.org/packages/FreeSql) [](https://www.nuget.org/stats/packages/FreeSql?groupby=Version) [](https://raw.githubusercontent.com/2881099/FreeSql/master/LICENSE.txt)
-## Features
+## ✨ Features
- [x] 支持 CodeFirst 迁移,哪怕使用 Access 数据库也支持;
- [x] 支持 DbFirst 从数据库导入实体类,[安装实体类生成工具](https://github.com/2881099/FreeSql/wiki/DbFirst);
@@ -18,7 +18,7 @@ FreeSql 是功能强大的对象关系映射技术(O/RM),支持 .NETCore 2.1+
- [x] 支持 读写分离、分表分库、过滤器、乐观锁、悲观锁;
- [x] 支持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite/达梦数据库/Access;
-## Documentation
+## 📖 Documentation
| | |
| - | - |
@@ -27,14 +27,14 @@ FreeSql 是功能强大的对象关系映射技术(O/RM),支持 .NETCore 2.1+
|
| [《Repository》](https://github.com/2881099/FreeSql/wiki/Repository) \| [《UnitOfWork》](https://github.com/2881099/FreeSql/wiki/%e5%b7%a5%e4%bd%9c%e5%8d%95%e5%85%83) \| [《AOP》](https://github.com/2881099/FreeSql/wiki/AOP) \| [《DbContext》](https://github.com/2881099/FreeSql/wiki/DbContext) |
|
| [《读写分离》](https://github.com/2881099/FreeSql/wiki/%e8%af%bb%e5%86%99%e5%88%86%e7%a6%bb) \| [《分区分表》](https://github.com/2881099/FreeSql/wiki/%e5%88%86%e5%8c%ba%e5%88%86%e8%a1%a8) \| [《黑科技》](https://github.com/2881099/FreeSql/wiki/%E9%AA%9A%E6%93%8D%E4%BD%9C) \| [《常见问题》](https://github.com/dotnetcore/FreeSql/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98) \| [*更新日志*](https://github.com/2881099/FreeSql/wiki/%e6%9b%b4%e6%96%b0%e6%97%a5%e5%bf%97) |
-> FreeSql 提供多种使用习惯,请根据实际情况选择团队合适的一种:
+> 💿 FreeSql 提供多种使用习惯,请根据实际情况选择团队合适的一种:
- 要么FreeSql,原始用法;
- 要么[FreeSql.Repository](https://github.com/2881099/FreeSql/wiki/Repository),仓储+工作单元习惯;
- 要么[FreeSql.DbContext](https://github.com/2881099/FreeSql/wiki/DbContext),有点像efcore的使用习惯;
- 要么[FreeSql.BaseEntity](https://github.com/2881099/FreeSql/tree/master/Examples/base_entity),求简单使用这个;
-> 学习项目
+> 💿 学习项目
- [zhontai.net Admin后台管理系统](https://github.com/zhontai/Admin.Core)
- [😃 A simple and practical CMS implememted by .NET Core 2.2](https://github.com/luoyunchong/lin-cms-dotnetcore)
@@ -44,7 +44,7 @@ FreeSql 是功能强大的对象关系映射技术(O/RM),支持 .NETCore 2.1+
-## Quick start
+## 🚀 Quick start
> dotnet add package FreeSql.Provider.Sqlite
@@ -83,7 +83,7 @@ class Tag {
}
```
-## Query
+## 🔍 Query
```csharp
//OneToOne、ManyToOne
fsql.Select()
@@ -130,33 +130,30 @@ fsql.Select()
```
[More..](https://github.com/2881099/FreeSql/wiki/%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0)
-## Repository & UnitOfWork
+## 📦 Repository
+
> dotnet add package FreeSql.Repository
```csharp
-using (var uow = fsql.CreateUnitOfWork()) {
- var repo1 = uow.GetRepository();
- var repo2 = uow.GetRepository();
+var repo = uow.GetRepository();
+repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
- repo2.DbContextOptions.EnableAddOrUpdateNavigateList = true;
- repo2.Insert(new Tag {
- Name = "testaddsublist",
- Tags = new[] {
+repo.Insert(new Tag {
+ Name = "testaddsublist",
+ Tags = new[] {
new Tag { Name = "sub1" },
new Tag { Name = "sub2" },
new Tag {
- Name = "sub3",
- Tags = new[] {
+ Name = "sub3",
+ Tags = new[] {
new Tag { Name = "sub3_01" }
- }
}
- }
- });
- uow.Commit();
-}
+ }
+ }
+});
```
-## Performance
+## 💪 Performance
FreeSql Query & Dapper Query
```shell
@@ -184,7 +181,7 @@ Elapsed: 00:00:00.6495301; Query Entity Counts: 131072; ORM: Dapper
[More..](https://github.com/2881099/FreeSql/wiki/%e6%80%a7%e8%83%bd)
-## Contributors
+## 👯 Contributors
[systemhejiyong](https://github.com/systemhejiyong)、
[LambertW](https://github.com/LambertW)、
@@ -202,7 +199,7 @@ Elapsed: 00:00:00.6495301; Query Entity Counts: 131072; ORM: Dapper
(QQ群:4336577)
-## Donation
+## 💕 Donation
L*y 58元、花花 88元、麦兜很乖 50元、网络来者 2000元、John 99.99元、alex 666元、bacongao 36元、无名 100元、Eternity 188元、无名 10元、⌒.Helper~..oO 66元、习惯与被习惯 100元、无名 100元