False False False False False True True post-processor True postproc True sealed class $name$ : IPostProcessor<$dto$Request, $dto$Response> { public Task PostProcessAsync($dto$Request req, $dto$Response res, HttpContext ctx, IReadOnlyCollection<ValidationFailure> fails, CancellationToken c) { $END$ } } True constant("My") 1 True constant("MyProcessor") 0 True 2.0 InCSharpFile True True test class True tstclass True namespace Tests; public class $name$Tests : TestClass<$fixture$Fixture> { public $name$Tests($fixture$Fixture f, ITestOutputHelper o) : base(f, o) { } [Fact] public async Task $test_name$() { $END$ } } True constant("App") 1 True constant("My") 0 True constant("Name_Of_The_Test") 2 True 2.0 InCSharpFile True True endpoint with request only True epreq True sealed class $epName$Request { } sealed class $epName$Endpoint : Endpoint<$epName$Request> { public override void Configure() { $verb$("$route$"); AllowAnonymous(); } public override async Task HandleAsync($epName$Request r, CancellationToken c) { $END$ } } True constant("My") 0 True constant("route-pattern") 2 True constant("Post") 1 True 2.0 InCSharpFile True True 创建命令 True constant("My") 0 True True 2.0 InCSharpFile ncpcmd True public record $name$Command() : ICommand; public class $name$CommandValidator : AbstractValidator<$name$Command> { public $name$CommandValidator() { // 添加验证规则示例: // RuleFor(x => x.Property).NotEmpty(); } } public class $name$CommandHandler : ICommandHandler<$name$Command> { public async Task Handle( $name$Command request, CancellationToken cancellationToken) { // 实现业务逻辑 throw new NotImplementedException(); } } True True 创建命令(含返回值) True constant("My") 0 True True 2.0 InCSharpFile ncpcmdres True public record $name$Command() : ICommand<$name$CommandResponse>; public record $name$CommandResponse(); public class $name$CommandValidator : AbstractValidator<$name$Command> { public $name$CommandValidator() { // 添加验证规则示例: // RuleFor(x => x.Property).NotEmpty(); } } public class $name$CommandHandler : ICommandHandler<$name$Command, $name$CommandResponse> { public async Task<$name$CommandResponse> Handle( $name$Command request, CancellationToken cancellationToken) { // 实现业务逻辑 throw new NotImplementedException(); } } True True endpoint request & response dtos True epdto True sealed class $name$Request { $END$ } sealed class $name$Response { } True constant("My") 0 True 2.0 InCSharpFile True True 创建聚合根 True constant("My") 0 True True 2.0 InCSharpFile ncpar True public partial record $name$Id : IInt64StronglyTypedId; public class $name$ : Entity<$name$Id>, IAggregateRoot { protected $name$() { } } True True test fixture True tstfixture True namespace Tests; public class $name$Fixture : TestFixture<Program> { public $name$Fixture(IMessageSink s) : base(s) { } protected override Task SetupAsync() { $END$ } protected override void ConfigureServices(IServiceCollection s) { } protected override Task TearDownAsync() { } } True constant("App") 0 True 2.0 InCSharpFile True True cs Endpoint False FastEndpoints Feature File Set True True namespace $name_space$; sealed class Request { } sealed class Validator : Validator<Request> { public Validator() { } } sealed class Response { public string Message => "This endpoint hasn't been implemented yet!"; } sealed class Endpoint : Endpoint<Request, Response, Mapper> { public override void Configure() { Post("$route$"); } public override async Task HandleAsync(Request r, CancellationToken c) { await SendAsync(new Response());$END$ } } sealed class Mapper : Mapper<Request, Response, object> { } static class Data { } Class/Interface True fileDefaultNamespace() 1 True constant("route-pattern") 0 True InCSharpProjectFile True True event handler True evnt True sealed class $name$ : IEvent { } sealed class $name$Handler : IEventHandler<$name$> { public Task HandleAsync($name$ e, CancellationToken c) { $END$ } } True constant("MyEvent") 0 True 2.0 InCSharpFile True True 创建仓储 True constant("My") 0 True True 2.0 InCSharpFile ncprepo True public interface I$name$Repository : IRepository<$name$, $name$Id>; public class $name$Repository(ApplicationDbContext context) : RepositoryBase<$name$, $name$Id, ApplicationDbContext>(context), I$name$Repository { } True True endpoint data True epdat True static class $name$Data { $END$ } True constant("My") 0 True 2.0 InCSharpFile True True command handler with result True cmdres True sealed class $name$ : ICommand<$name$Result> { } sealed class $name$Result { } sealed class $name$Handler : ICommandHandler<$name$, $name$Result> { public Task<$name$Result> ExecuteAsync($name$ cmd, CancellationToken c) { $END$ } } True constant("MyCommand") 0 True 2.0 InCSharpFile True True command handler True cmd True sealed class $name$ : ICommand { } sealed class $name$Handler : ICommandHandler<$name$> { public Task ExecuteAsync($name$ cmd, CancellationToken c) { $END$ } } True constant("MyCommand") 0 True 2.0 InCSharpFile True True endpoint validator True epval True sealed class $name$Validator : Validator<$name$Request> { public $name$Validator() { $END$ } } True constant("My") 0 True 2.0 InCSharpFile True True global pre-processor True preproc_g True sealed class $name$ : IGlobalPreProcessor { public Task PreProcessAsync(object r, HttpContext ctx, List<ValidationFailure> fails, CancellationToken c) { $END$ } } True constant("MyProcessor") 0 True 2.0 InCSharpFile True True endpoint with response only True epres True sealed class $epName$Response { } sealed class $epName$Endpoint : EndpointWithoutRequest<$epName$Response> { public override void Configure() { $verb$("$route$"); AllowAnonymous(); } public override async Task HandleAsync(CancellationToken c) { $END$ } } True constant("My") 0 True constant("route-pattern") 2 True constant("Get") 1 True 2.0 InCSharpFile True True 创建集成事件与事件处理器 True constant("MyCreated") 0 True True 2.0 InCSharpFile ncpie True public record $name$IntegrationEvent(); public class $name$IntegrationEventHandler(IMediator mediator) : IIntegrationEventHandler<$name$IntegrationEvent> { public Task HandleAsync($name$IntegrationEvent eventData, CancellationToken cancellationToken = default) { // var cmd = new $name$Command(eventData.Id); // return mediator.Send(cmd, cancellationToken); throw new NotImplementedException(); } } True True 创建领域事件处理器 True constant("MyCreated") 0 True True 2.0 InCSharpFile ncpdeh True public class $name$DomainEventHandler(IMediator mediator) : IDomainEventHandler<$name$DomainEvent> { public async Task Handle($name$DomainEvent notification, CancellationToken cancellationToken) { // 实现业务逻辑 throw new NotImplementedException(); } } True True endpoint vertical slice - NCP True constant("Description text goes here...") 4 True constant("My") 0 True constant("route-pattern") 2 True constant("Summary text goes here...") 3 True constant("Post") 1 True True 2.0 InCSharpFile epp True sealed class $epName$Endpoint(IMediator mediator) : Endpoint<$epName$Request, ResponseData<$epName$Response>> { public override void Configure() { $verb$("$route$"); AllowAnonymous(); } public override async Task HandleAsync($epName$Request r, CancellationToken c) { var cmd = new $epName$Command(r.Property1, r.Property2); var result = await mediator.Send(cmd, c); var res = new $epName$Response(); await SendOkAsync(res.AsResponseData(), c); $END$ } } sealed record $epName$Request(); sealed record $epName$Response(); sealed class $epName$Validator : Validator<$epName$Request> { public $epName$Validator() { // RuleFor(x => x.Property).NotEmpty(); } } sealed class $epName$Summary : Summary<$epName$Endpoint, $epName$Request> { public $epName$Summary() { Summary = "$summaryText$"; Description = "$descriptionText$"; } } True True pre-processor True preproc True sealed class $name$ : IPreProcessor<$req$Request> { public Task PreProcessAsync($req$Request r, HttpContext ctx, List<ValidationFailure> fails, CancellationToken c) { $END$ } } True constant("MyProcessor") 0 True constant("My") 1 True 2.0 InCSharpFile True True 创建集成事件转换器 True constant("MyCreated") 0 True True 2.0 InCSharpFile ncpiec True public class $name$IntegrationEventConverter : IIntegrationEventConverter<$name$DomainEvent, $name$IntegrationEvent> { public $name$IntegrationEvent Convert($name$DomainEvent domainEvent) { // return new $name$IntegrationEvent(domainEvent.Id); throw new NotImplementedException(); } } True True endpoint mapper epmap True sealed class $epName$Mapper : Mapper<$epName$Request, $epName$Response, $entity$> { public override $entity$ ToEntity($epName$Request r) => new() { $END$ }; public override $epName$Response FromEntity($entity$ e) => new() { }; } True constant("YourEntity") 1 True constant("My") 0 True 2.0 InCSharpFile True True endpoint vertical slice True constant("Description text goes here...") 5 True constant("Summary text goes here...") 4 True epfull True sealed class $epName$Endpoint : Endpoint<$epName$Request, $epName$Response, $epName$Mapper> { public override void Configure() { $verb$("$route$"); AllowAnonymous(); } public override async Task HandleAsync($epName$Request r, CancellationToken c) { $END$ } } sealed class $epName$Request { } sealed class $epName$Response { } sealed class $epName$Validator : Validator<$epName$Request> { public $epName$Validator() { } } sealed class $epName$Mapper: Mapper<$epName$Request, $epName$Response, $entity$> { public override $entity$ ToEntity($epName$Request r) => new() { }; public override $epName$Response FromEntity($entity$ e) => new() { }; } sealed class $epName$Summary : Summary<$epName$Endpoint, $epName$Request> { public $epName$Summary() { Summary = "$summaryText$"; Description = "$descriptionText$"; } } True constant("YourEntity") 3 True constant("My") 0 True constant("route-pattern") 2 True constant("Post") 1 True 2.0 InCSharpFile True True global post-processor True postproc_g True sealed class $name$ : IGlobalPostProcessor { public Task PostProcessAsync(object req, object? res, HttpContext ctx, IReadOnlyCollection<ValidationFailure> fails, CancellationToken c) { $END$ } } True constant("MyProcessor") 0 True 2.0 InCSharpFile True True test method True tstmethod True [Fact] public async Task $test_name$() { $END$ } True constant("Name_Of_The_Test") 0 True 2.0 InCSharpFile True True 创建领域事件 True constant("MyCreated") 0 True True 2.0 InCSharpFile ncpde True public record $name$DomainEvent() : IDomainEvent; True True endpoint summary True epsum True sealed class $name$Summary : Summary<$name$Endpoint, $name$Request> { public $name$Summary() { Summary = "$summaryText$"; Description = "$descriptionText$"; $END$ } } True constant("Description text goes here...") 2 True constant("My") 0 True constant("Summary text goes here...") 1 True 2.0 InCSharpFile True True endpoint without request True epnoreq True sealed class $My$Endpoint : EndpointWithoutRequest { public override void Configure() { $Get$("$route$"); AllowAnonymous(); } public override async Task HandleAsync(CancellationToken c) { $END$ } } True 1 True 0 True 2 True 2.0 InCSharpFile True True endpoint with request & response True epreqres True sealed class $epName$Request { } sealed class $epName$Response { } sealed class $epName$Endpoint : Endpoint<$epName$Request, $epName$Response> { public override void Configure() { $verb$("$route$"); AllowAnonymous(); } public override async Task HandleAsync($epName$Request r, CancellationToken c) { $END$ } } True constant("My") 0 True constant("route-pattern") 2 True constant("Post") 1 True 2.0 InCSharpFile True True 创建实体配置类 True ncpconfig True public class $Entity$Configuration : IEntityTypeConfiguration<$Entity$> { public void Configure(EntityTypeBuilder<$Entity$> builder) { builder.ToTable("$table$"); builder.HasKey(t => t.Id); builder.Property(t => t.Id) /*.UseSnowFlakeValueGenerator()*/ // 如果使用 SnowFlake ID 生成器,请取消注释 /*.UseGuidVersion7ValueGenerator()*/ // 如果使用 Guid Version 7 ID 生成器,请取消注释 ; // Configure other properties if needed $END$ } } True constant("Entity") 0 True constant("table") 1 True 2.0 InCSharpFile