diff options
author | crupest <crupest@outlook.com> | 2022-12-07 20:41:20 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-12-20 20:32:52 +0800 |
commit | 78396f289ab50ce414bd8f65af8854ffb52fff48 (patch) | |
tree | 59f3a1ebb2a8e896ad21bdcf5736fc0328c84e76 /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs | |
parent | 1870bc78d4a2733246322c5540761da852afe713 (diff) | |
download | crupest-78396f289ab50ce414bd8f65af8854ffb52fff48.tar.gz crupest-78396f289ab50ce414bd8f65af8854ffb52fff48.tar.bz2 crupest-78396f289ab50ce414bd8f65af8854ffb52fff48.zip |
Develop secret api. v17
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs')
-rw-r--r-- | docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs | 35 |
1 files changed, 11 insertions, 24 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs index 35b7cc9..b5f9f38 100644 --- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs +++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs @@ -11,35 +11,21 @@ public class InsertItem Value = value; } - public InsertItem(KeyValuePair<string, object?> pair) - { - ColumnName = pair.Key; - Value = pair.Value; - } - public string ColumnName { get; set; } public object? Value { get; set; } +} - public static implicit operator KeyValuePair<string, object?>(InsertItem item) - { - return new(item.ColumnName, item.Value); - } - - public static implicit operator InsertItem(KeyValuePair<string, object?> pair) - { - return new(pair); - } +public interface IInsertClause : IClause +{ + List<InsertItem> Items { get; } + string GenerateColumnListSql(string? dbProviderId = null); + (string sql, DynamicParameters parameters) GenerateValueListSql(string? dbProviderId = null); } -public class InsertClause +public class InsertClause : IInsertClause { public List<InsertItem> Items { get; } = new List<InsertItem>(); - public InsertClause(IEnumerable<InsertItem> items) - { - Items.AddRange(items); - } - public InsertClause(params InsertItem[] items) { Items.AddRange(items); @@ -66,13 +52,14 @@ public class InsertClause return Items.Select(i => i.ColumnName).ToList(); } - public string GenerateColumnListSql() + public string GenerateColumnListSql(string? dbProviderId = null) { return string.Join(", ", Items.Select(i => i.ColumnName)); } - public string GenerateValueListSql(DynamicParameters parameters) + public (string sql, DynamicParameters parameters) GenerateValueListSql(string? dbProviderId = null) { + var parameters = new DynamicParameters(); var sb = new StringBuilder(); for (var i = 0; i < Items.Count; i++) { @@ -83,6 +70,6 @@ public class InsertClause sb.Append(", "); } - return sb.ToString(); + return (sb.ToString(), parameters); } } |