Implement DeleteAll

This commit is contained in:
2025-05-13 18:03:52 +02:00
parent 438ef3f2fb
commit 59b9192db9
4 changed files with 26 additions and 1 deletions
+1
View File
@@ -99,6 +99,7 @@ public static class Constants
public const string UpsertMethodName = "Upsert";
public const string UpdateMethodName = "Update";
public const string DeleteMethodName = "Delete";
public const string DeleteAllMethodName = "DeleteAll";
public const string FindMethodName = "Find";
public const string FindAllMethodName = "FindAll";
}
+1 -1
View File
@@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Version>0.8.2.1</Version>
<Version>0.8.2.2</Version>
<LangVersion>latest</LangVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Alexandru Macocian</Authors>
+21
View File
@@ -133,6 +133,27 @@ command.CommandText = @""{placeHolder}"";
return new MethodWithSqlStatement(methodBuilder, placeHolder, sql.ToString());
}
public static MethodWithSqlStatement CreateDeleteAllStatement(TableContext context)
{
var placeHolder = $"DeleteAll{context.DboType}";
var sql = new StringBuilder();
sql.AppendLine()
.AppendLine($"\t\t\tDELETE FROM {context.TableName};");
var bodyBuilder = new StringBuilder(@$"
using var command = this.{Constants.DbConnectionPropertyName}.CreateCommand();
command.CommandText = @""{placeHolder}"";
");
bodyBuilder.AppendLine("await command.ExecuteNonQueryAsync(cancellationToken);");
var methodBuilder = SyntaxBuilder.CreateMethod(Constants.ValueTaskType, Constants.DeleteAllMethodName)
.WithModifiers($"{Constants.Public} {Constants.Async}")
.WithParameter(Constants.CancellationTokenType, Constants.CancellationTokenArgument)
.WithBody(bodyBuilder.ToString());
return new MethodWithSqlStatement(methodBuilder, placeHolder, sql.ToString());
}
public static MethodWithSqlStatement CreateFindStatement(TableContext context)
{
var placeHolder = $"Find{context.DboType}";
+3
View File
@@ -126,6 +126,7 @@ public sealed class TableContextGenerator : IIncrementalGenerator
var upsertMethod = BasicQueryMethodGenerator.CreateUpsertStatement(ctx);
var updateMethod = BasicQueryMethodGenerator.CreateUpdateStatement(ctx);
var deleteMethod = BasicQueryMethodGenerator.CreateDeleteStatement(ctx);
var deleteAllMethod = BasicQueryMethodGenerator.CreateDeleteAllStatement(ctx);
var findMethod = BasicQueryMethodGenerator.CreateFindStatement(ctx);
var findAllMethod = BasicQueryMethodGenerator.CreateFindAllStatement(ctx);
classBuilder
@@ -136,6 +137,7 @@ public sealed class TableContextGenerator : IIncrementalGenerator
.WithMethod(updateMethod.MethodBuilder)
.WithMethod(deleteMethod.MethodBuilder)
.WithMethod(findMethod.MethodBuilder)
.WithMethod(deleteAllMethod.MethodBuilder)
.WithMethod(findAllMethod.MethodBuilder)
.WithMethod(CreateParameterMethodGenerator.CreateParameterMethod());
@@ -162,6 +164,7 @@ public sealed class TableContextGenerator : IIncrementalGenerator
.Replace(upsertMethod.Placeholder, upsertMethod.CommandText)
.Replace(updateMethod.Placeholder, updateMethod.CommandText)
.Replace(deleteMethod.Placeholder, deleteMethod.CommandText)
.Replace(deleteAllMethod.Placeholder, deleteAllMethod.CommandText)
.Replace(findMethod.Placeholder, findMethod.CommandText)
.Replace(findAllMethod.Placeholder, findAllMethod.CommandText);