aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/README.md
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-12-11 16:51:53 +0800
committercrupest <crupest@outlook.com>2022-12-20 20:32:53 +0800
commit7a8de2eb8b585d34335887b217007b394e065e66 (patch)
tree8da3d035cdc2e3827841b0aaae0df4fb0c09cfb1 /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/README.md
parentb2a7d7e0f667e8a276ef307a6988e42eee7feb5d (diff)
downloadcrupest-7a8de2eb8b585d34335887b217007b394e065e66.tar.gz
crupest-7a8de2eb8b585d34335887b217007b394e065e66.tar.bz2
crupest-7a8de2eb8b585d34335887b217007b394e065e66.zip
Develop secret api. v29
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/README.md')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/README.md27
1 files changed, 27 insertions, 0 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/README.md b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/README.md
new file mode 100644
index 0000000..c30ea90
--- /dev/null
+++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/README.md
@@ -0,0 +1,27 @@
+# CRUD Technic Notes
+
+## Database Pipeline
+
+### Select
+
+1. Create select `what`, where clause, order clause, `Offset` and `Limit`.
+2. Check clauses' related columns are valid. Then generate sql string and param list.
+3. Convert param list to `Dapper` dynamic params. Execute sql and get `dynamic`s.
+4. Run hook `AfterSelect` for every column.
+5. Convert `dynamic`s to `TEntity`s.
+
+TODO: Continue here.
+
+### Insert
+
+1. Create insert clause consisting of insert items.
+2. Check clauses' related columns are valid. Then generate sql string and param list.
+3. Run hook `BeforeInsert` for every column.
+4. Convert param list to `Dapper` dynamic params. Execute sql and return `KeyColumn` value.
+
+### Update
+
+1. Create update clause consisting of update items, where clause.
+2. Check clauses' related columns are valid. Then generate sql string and param list.
+3. Run hook `BeforeUpdate` for every column.
+4. Convert param list to `Dapper` dynamic params. Execute sql and get count of affected rows.