aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs
diff options
context:
space:
mode:
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs
index 7f248cf..7645b09 100644
--- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs
+++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs
@@ -1,10 +1,12 @@
using System.Text;
-using Dapper;
namespace CrupestApi.Commons.Crud;
public class InsertItem
{
+ /// <summary>
+ /// Null means use default value. Use <see cref="DbNullValue"/>.
+ /// </summary>
public InsertItem(string columnName, object? value)
{
ColumnName = columnName;
@@ -54,7 +56,7 @@ public class InsertClause : IInsertClause
public string GenerateColumnListSql(string? dbProviderId = null)
{
- return string.Join(", ", Items.Select(i => i.ColumnName));
+ return string.Join(", ", Items.Where(i => i.Value is not null).Select(i => i.ColumnName));
}
public (string sql, ParamList parameters) GenerateValueListSql(string? dbProviderId = null)
@@ -64,6 +66,7 @@ public class InsertClause : IInsertClause
for (var i = 0; i < Items.Count; i++)
{
var item = Items[i];
+ if (item.Value is null) continue;
var parameterName = parameters.AddRandomNameParameter(item.Value, item.ColumnName);
sb.Append($"@{parameterName}");
if (i != Items.Count - 1)