diff --git a/Delete-Data.md b/Delete-Data.md index 8d8b997..c6b0f4a 100644 --- a/Delete-Data.md +++ b/Delete-Data.md @@ -180,12 +180,12 @@ public class UserExt ## Reference -- [《Database Transaction》](Database-Transaction) +- [《Database Transaction》](%e4%ba%8b%e5%8a%a1) - [《FreeSql 101, Part 1: Insert Data》](Insert-Data) - [《FreeSql 101, Part 3: Update Data》](Update-Data) - [《FreeSql 101, Part 4: Query Data》](Query-Data) - [《Repository Layer》](Repository-Layer) -- [《Tenant》](Tenant) +- [《Tenant》](%e7%a7%9f%e6%88%b7) ## API diff --git a/Greed-Loading.md b/Greed-Loading.md index 1338b18..1864910 100644 --- a/Greed-Loading.md +++ b/Greed-Loading.md @@ -175,4 +175,4 @@ dto.IncludeMany(fsql, d => d.Vods.Take(10).Where(vod => vod.TypeId == d.TypeId)) - [《Filters and Global Filters》](Filters-and-Global-Filters) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- [《Expression Function》](Expression-Function) \ No newline at end of file +- [《Expression Function》](%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0) \ No newline at end of file diff --git a/Group-Aggregation-Query.md b/Group-Aggregation-Query.md index 2548897..44c25ea 100644 --- a/Group-Aggregation-Query.md +++ b/Group-Aggregation-Query.md @@ -147,6 +147,6 @@ fsql.Select() - [《Filters and Global Filters》](Filters-and-Global-Filters) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- [《Expression Function》](Expression-Function) +- [《Expression Function》](%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0) - [《Performance》](Performance) -- [《Tenant》](Tenant) \ No newline at end of file +- [《Tenant》](%e7%a7%9f%e6%88%b7) \ No newline at end of file diff --git a/Home.md b/Home.md index 5f4e31d..1f30d88 100644 --- a/Home.md +++ b/Home.md @@ -42,21 +42,22 @@ FreeSql supports basic CURD. In addition, it also supports creating models based - 🚧 [《CodeFirst Mode, Part 2: FluentApi》](FluentApi) - 🚧 [《CodeFirst Mode, Part 3: Custom Attributes》](%e8%87%aa%e5%ae%9a%e4%b9%89%e7%89%b9%e6%80%a7) - 🚧 [《CodeFirst Mode, Part 4: Type Mapping》](%e7%b1%bb%e5%9e%8b%e6%98%a0%e5%b0%84) - - 🚧 [《CodeFirst Mode, Part 5: Migration Structure》](Migration-Structure) + - 🚧 [《CodeFirst Mode, Part 5: Entity Relationship》](Entity-Relationship) + - 🚧 [《CodeFirst Mode, Part 6: Migration Structure》](CodeFirst#%e8%bf%81%e7%a7%bb%e7%bb%93%e6%9e%84) - 🚧 [《Introduction to DbFirst Mode》](DbFirst) #### Advanced -- 🚧 [《Database Transaction》](Database-Transaction) -- 🚧 [《Using Read/Write Separation》](Using-Read-Write-Separation) -- 🚧 [《Sharding Tables and Database》](Sharding-Tables-and-Database) -- 🚧 [《Tenant》](Tenant) +- 🚧 [《Database Transaction》](%e4%ba%8b%e5%8a%a1) +- 🚧 [《Using Read/Write Separation》](%e8%af%bb%e5%86%99%e5%88%86%e7%a6%bb) +- 🚧 [《Sharding Tables and Database》](%e5%88%86%e8%a1%a8%e5%88%86%e5%ba%93) +- 🚧 [《Tenant》](%e7%a7%9f%e6%88%b7) - [《Return Data》](Return-Data) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- 🚧 [《Expression Function》](Expression-Function) -- 🚧 [《ADO》](ActiveX-Data-Objects) -- 🚧 [《AOP》](Aspect-Oriented-Programming) +- 🚧 [《Expression Function》](%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0) +- 🚧 [《ADO》](ADO) +- 🚧 [《AOP》](AOP) #### WeChat diff --git a/Import-Entity-Configuration-from-Database.md b/Import-Entity-Configuration-from-Database.md index b0d59f0..aaeaa30 100644 --- a/Import-Entity-Configuration-from-Database.md +++ b/Import-Entity-Configuration-from-Database.md @@ -23,5 +23,5 @@ Database configuration> Entity Attribute> FluentApi> Aop (custom entity attribut - [《CodeFirst Mode, Part 2: FluentApi》](FluentApi) - [《CodeFirst Mode, Part 3: Custom Attributes》](%e8%87%aa%e5%ae%9a%e4%b9%89%e7%89%b9%e6%80%a7) - [《CodeFirst Mode, Part 4: Type Mapping》](%e7%b1%bb%e5%9e%8b%e6%98%a0%e5%b0%84) -- [《CodeFirst Mode, Part 5: Migration Structure》](Migration-Structure) +- [《CodeFirst Mode, Part 5: Migration Structure》](CodeFirst#%e8%bf%81%e7%a7%bb%e7%bb%93%e6%9e%84) - [《CodeFirst Mode, Part 6: Entity Relationship》](Entity-Relationship) diff --git a/Insert-Data.md b/Insert-Data.md index 61d8c81..5cc6b2a 100644 --- a/Insert-Data.md +++ b/Insert-Data.md @@ -208,14 +208,14 @@ fsql.Insert().MySqlIgnoreInto().AppendData(items).ExecuteAffrows(); ## Reference -- [《Database Transaction》](Database-Transaction) +- [《Database Transaction》](%e4%ba%8b%e5%8a%a1) - [《FreeSql 101, Part 2: Delete Data》](Delete-Data) - [《FreeSql 101, Part 3: Update Data》](Update-Data) - [《FreeSql 101, Part 4: Query Data》](Query-Data) - [《Repository Layer》](Repository-Layer) - [《Filters and Global Filters》](Filters-and-Global-Filters) -- [《Sharding Tables and Database》](Sharding-Tables-and-Database) -- [《Tenant》](Tenant) +- [《Sharding Tables and Database》](%e5%88%86%e8%a1%a8%e5%88%86%e5%ba%93) +- [《Tenant》](%e7%a7%9f%e6%88%b7) ## API diff --git a/Install.md b/Install.md index 8dab0ff..59f1172 100644 --- a/Install.md +++ b/Install.md @@ -60,17 +60,17 @@ FreeSql supports basic CURD. In addition, it also supports creating models based - [《CodeFirst Mode, Part 2: FluentApi》](FluentApi) - [《CodeFirst Mode, Part 3: Custom Attributes》](%e8%87%aa%e5%ae%9a%e4%b9%89%e7%89%b9%e6%80%a7) - [《CodeFirst Mode, Part 4: Type Mapping》](%e7%b1%bb%e5%9e%8b%e6%98%a0%e5%b0%84) - - [《CodeFirst Mode, Part 5: Migration Structure》](Migration-Structure) + - [《CodeFirst Mode, Part 5: Migration Structure》](CodeFirst#%e8%bf%81%e7%a7%bb%e7%bb%93%e6%9e%84) - [《Introduction to DbFirst Mode》](DbFirst) #### Advanced -- [《Database Transaction》](Database-Transaction) -- [《Using Read/Write Separation》](Using-Read-Write-Separation) -- [《Sharding Tables and Database》](Sharding-Tables-and-Database) -- [《Tenant》](Tenant) +- [《Database Transaction》](%e4%ba%8b%e5%8a%a1) +- [《Using Read/Write Separation》](%e8%af%bb%e5%86%99%e5%88%86%e7%a6%bb) +- [《Sharding Tables and Database》](%e5%88%86%e8%a1%a8%e5%88%86%e5%ba%93) +- [《Tenant》](%e7%a7%9f%e6%88%b7) - [《Return Data》](Return-Data) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- [《Expression Function》](Expression-Function) -- [《AOP》](Aspect-Oriented-Programming) \ No newline at end of file +- [《Expression Function》](%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0) +- [《AOP》](AOP) \ No newline at end of file diff --git a/Lazy-Loading.md b/Lazy-Loading.md index f4a6549..aab1872 100644 --- a/Lazy-Loading.md +++ b/Lazy-Loading.md @@ -129,4 +129,4 @@ If you want to use data in a loop, use [Greed Loading](Greed-Loading), otherwise - [《Filters and Global Filters》](Filters-and-Global-Filters) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- [《Expression Function》](Expression-Function) +- [《Expression Function》](%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0) diff --git a/Linq-to-Sql.md b/Linq-to-Sql.md index 2377207..4d046e2 100644 --- a/Linq-to-Sql.md +++ b/Linq-to-Sql.md @@ -163,4 +163,4 @@ var t1 = ( - [《Repository Layer》](Repository-Layer) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- [《Expression Function》](Expression-Function) +- [《Expression Function》](%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0) diff --git a/Pagination.md b/Pagination.md index 3f7bc98..1782cfa 100644 --- a/Pagination.md +++ b/Pagination.md @@ -67,7 +67,7 @@ For `SqlServer 2012+` version, using the latest `fetch next rows` pagination; - [《Filters and Global Filters》](Filters-and-Global-Filters) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- [《Expression Function》](Expression-Function) +- [《Expression Function》](%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0) - [《Performance》](Performance) -- [《Tenant》](Tenant) -- [《Sharding Tables and Database》](Sharding-Tables-and-Database) +- [《Tenant》](%e7%a7%9f%e6%88%b7) +- [《Sharding Tables and Database》](%e5%88%86%e8%a1%a8%e5%88%86%e5%ba%93) diff --git a/Parent-Child-Relationship-Query.md b/Parent-Child-Relationship-Query.md index 602da2c..1040d4e 100644 --- a/Parent-Child-Relationship-Query.md +++ b/Parent-Child-Relationship-Query.md @@ -220,7 +220,7 @@ Assert.Equal("中国[100000] -> 北京[110000] -> 东城区[110101]", t4[3].path - [《Filters and Global Filters》](Filters-and-Global-Filters) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- [《Expression Function》](Expression-Function) +- [《Expression Function》](%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0) - [《Performance》](Performance) -- [《Sharding Tables and Database》](Sharding-Tables-and-Database) -- [《Tenant》](Tenant) \ No newline at end of file +- [《Sharding Tables and Database》](%e5%88%86%e8%a1%a8%e5%88%86%e5%ba%93) +- [《Tenant》](%e7%a7%9f%e6%88%b7) \ No newline at end of file diff --git a/Query-Data.md b/Query-Data.md index 10c5f0b..5ef0305 100644 --- a/Query-Data.md +++ b/Query-Data.md @@ -12,11 +12,11 @@ FreeSql has made great efforts in querying data, especially the functions such a - [《Filters and Global Filters》](Filters-and-Global-Filters) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- [《Expression Function》](Expression-Function) -- [《Using Read/Write Separation》](Using-Read-Write-Separation) +- [《Expression Function》](%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0) +- [《Using Read/Write Separation》](%e8%af%bb%e5%86%99%e5%88%86%e7%a6%bb) - [《Performance》](Performance) -- [《Sharding Tables and Database》](Sharding-Tables-and-Database) -- [《Tenant》](Tenant) +- [《Sharding Tables and Database》](%e5%88%86%e8%a1%a8%e5%88%86%e5%ba%93) +- [《Tenant》](%e7%a7%9f%e6%88%b7) ## SqlServer WithLock/WithIndex @@ -135,14 +135,14 @@ fsql.Select().WhereDynamicFilter(dyfilter).ToList(); | 【Where】 | | Where | \ | Lambda | Supports multi-table query expressions, multiple use is equivalent to `AND`. | | WhereIf | \ | bool, Lambda | Support multi-table query expression | -| Where | \ | string, parms | Native Sql syntax conditions, `Where("id = @id", new {id = 1 })` Note that the prefix `@` will be [determined according to the specific database](ActiveX-Data-Objects#parameterization) | -| WhereIf | \ | bool, string, parms | Native Sql syntax conditions, `WhereIf(true, "id = @id", new {id = 1 })` Note that the prefix `@` will be [determined according to the specific database](ActiveX-Data-Objects#parameterization)| +| Where | \ | string, parms | Native Sql syntax conditions, `Where("id = @id", new {id = 1 })` Note that the prefix `@` will be [determined according to the specific database](ADO#parameterization) | +| WhereIf | \ | bool, string, parms | Native Sql syntax conditions, `WhereIf(true, "id = @id", new {id = 1 })` Note that the prefix `@` will be [determined according to the specific database](ADO#parameterization)| | WhereCascade | \ | Lambda | When querying multiple tables, add conditions to each table. | | WhereDynamicFilter | \ | DynamicFilterInfo | Dynamic filter conditions (interact with the front end) | | 【Group】 | | GroupBy | \ | Lambda | Group by selected column, `GroupBy(a => a.Name)` | `GroupBy(a => new{a.Name,a.Time})` | -| GroupBy | \ | string, parms | Group by native sql syntax `GroupBy("concat(name, @cc)", new { cc = 1 })`. Note that the prefix `@` will be [determined according to the specific database](ActiveX-Data-Objects#parameterization)| -| Having | \ | string, parms | Filter by aggregation conditions of native sql syntax `Having("count(name) = @cc", new { cc = 1 })`. Note that the prefix `@` will be [determined according to the specific database](ActiveX-Data-Objects#parameterization) | +| GroupBy | \ | string, parms | Group by native sql syntax `GroupBy("concat(name, @cc)", new { cc = 1 })`. Note that the prefix `@` will be [determined according to the specific database](ADO#parameterization)| +| Having | \ | string, parms | Filter by aggregation conditions of native sql syntax `Having("count(name) = @cc", new { cc = 1 })`. Note that the prefix `@` will be [determined according to the specific database](ADO#parameterization) | | Distinct | \ | | `.Distinct().ToList(x => x.GroupName)` is to perform `DISTINCT` for the specified field. | | 【Order】 | | OrderBy | \ | Lambda | Sort by column, `OrderBy(a => a.Time)`, can be used multiple times | diff --git a/Query-from-Multi-Tables.md b/Query-from-Multi-Tables.md index c7446ed..3668bd0 100644 --- a/Query-from-Multi-Tables.md +++ b/Query-from-Multi-Tables.md @@ -283,7 +283,7 @@ Applicable to: - [《LinqToSql》](Linq-to-Sql) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- [《Expression Function》](Expression-Function) +- [《Expression Function》](%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0) - [《Performance》](Performance) -- [《Sharding Tables and Database》](Sharding-Tables-and-Database) -- [《Tenant》](Tenant) \ No newline at end of file +- [《Sharding Tables and Database》](%e5%88%86%e8%a1%a8%e5%88%86%e5%ba%93) +- [《Tenant》](%e7%a7%9f%e6%88%b7) \ No newline at end of file diff --git a/Query-from-Single-Table.md b/Query-from-Single-Table.md index d21ee7a..8ff994d 100644 --- a/Query-from-Single-Table.md +++ b/Query-from-Single-Table.md @@ -85,7 +85,7 @@ fsql.Select() - [《Repository Layer》](Repository-Layer) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- [《Expression Function》](Expression-Function) +- [《Expression Function》](%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0) - [《Performance》](Performance) -- [《Sharding Tables and Database》](Sharding-Tables-and-Database) -- [《Tenant》](Tenant) \ No newline at end of file +- [《Sharding Tables and Database》](%e5%88%86%e8%a1%a8%e5%88%86%e5%ba%93) +- [《Tenant》](%e7%a7%9f%e6%88%b7) \ No newline at end of file diff --git a/Repository-Layer.md b/Repository-Layer.md index eb19398..1d76d4b 100644 --- a/Repository-Layer.md +++ b/Repository-Layer.md @@ -211,9 +211,9 @@ Please view the documentation of [Cascade Saving](Cascade-Saving). - [《FreeSql 101, Part 4: Query Data》](Query-Data) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- [《Sharding Tables and Database》](Sharding-Tables-and-Database) -- [《Tenant》](Tenant) +- [《Sharding Tables and Database》](%e5%88%86%e8%a1%a8%e5%88%86%e5%ba%93) +- [《Tenant》](%e7%a7%9f%e6%88%b7) - [《Filters and Global Filters》](Filters-and-Global-Filters) -- [《AOP》](Aspect-Oriented-Programming) +- [《AOP》](AOP) - [《UnitOfWork》](Unit-of-Work) - [《DbContext》](Batabase-Context) \ No newline at end of file diff --git a/Return-Data.md b/Return-Data.md index 70294c1..3aa7c49 100644 --- a/Return-Data.md +++ b/Return-Data.md @@ -242,6 +242,6 @@ fsql.Select() - [《Filters and Global Filters》](Filters-and-Global-Filters) - [《FreeSql Optimization: Lazy Loading》](Lazy-Loading) - [《FreeSql Optimization: Greed Loading》](Greed-Loading) -- [《Expression Function》](Expression-Function) +- [《Expression Function》](%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0) - [《Performance》](Performance) -- [《Tenant》](Tenant) \ No newline at end of file +- [《Tenant》](%e7%a7%9f%e6%88%b7) \ No newline at end of file diff --git a/Unit-of-Work.md b/Unit-of-Work.md index 3de37a8..99d0a0b 100644 --- a/Unit-of-Work.md +++ b/Unit-of-Work.md @@ -121,10 +121,10 @@ int Delete(Expression> predicate); ## Reference -- [《Tenant》](Tenant) -- [《Using Read/Write Separation》](Using-Read-Write-Separation) -- [《Sharding Tables and Database》](Sharding-Tables-and-Database) +- [《Tenant》](%e7%a7%9f%e6%88%b7) +- [《Using Read/Write Separation》](%e8%af%bb%e5%86%99%e5%88%86%e7%a6%bb) +- [《Sharding Tables and Database》](%e5%88%86%e8%a1%a8%e5%88%86%e5%ba%93) - [《Repository Layer》](Repository-Layer) - [《Filters and Global Filters》](Filters-and-Global-Filters) -- [《AOP》](Aspect-Oriented-Programming) +- [《AOP》](AOP) - [《DbContext》](Batabase-Context) \ No newline at end of file diff --git a/Update-Data.md b/Update-Data.md index bfe066c..749f8a2 100644 --- a/Update-Data.md +++ b/Update-Data.md @@ -327,7 +327,7 @@ fsql.Update().SetSource(list).ExecuteSqlBulkCopy(); ## Reference -- [《Database Transaction》](Database-Transaction) +- [《Database Transaction》](%e4%ba%8b%e5%8a%a1) - [《FreeSql 101, Part 1: Insert Data》](Insert-Data) - [《FreeSql 101, Part 2: Delete Data》](Delete-Data) - [《FreeSql 101, Part 4: Query Data》](Query-Data) diff --git a/租户.md b/租户.md index 96910ee..4389ede 100644 --- a/租户.md +++ b/租户.md @@ -185,7 +185,7 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) }); // 切换租户 - fsql.Change(tenant); + fsql.Change(%e7%a7%9f%e6%88%b7); await next(); } finally