From 24d42e5eb284267966aee8bb687710bfcbc1a255 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 11 Dec 2022 16:51:53 +0800 Subject: Develop secret api. v29 --- .../CrupestApi/CrupestApi.Commons/Crud/README.md | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/README.md (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/README.md') 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. -- cgit v1.2.3