d5918c562c
Domain 레이어: - Enums: InquiryStatus (New/Contacted/Contracted/Closed) - Enums: ServiceType (기장/종소세/부가세/양도세/증여상속/기타) - Entities: Category, BlogPost, Inquiry, AdminUser (DB 매핑) - Interfaces: IBlogPostRepository, ICategoryRepository, IInquiryRepository, IDbConnectionFactory Infrastructure 레이어: - DbConnectionFactory: PostgreSQL 연결 팩토리 (Npgsql) - BlogPostRepository: GetBySlug, GetPublishedPaged, Create, Update, Delete, IncrementViewCount - CategoryRepository: GetAll, GetBySlug - InquiryRepository: Create, GetPaged, UpdateStatus - NuGet 의존성: Dapper 2.1.15, Npgsql 8.0.1, Configuration, DependencyInjection - DependencyInjection: AddInfrastructure() 확장 메서드 기술 결정: - Dapper로 SQL 완전 제어 - PostgreSQL 다중 쿼리 (QueryMultiple) 페이징 최적화 - 한국어 파라미터 처리 (::int, ::text 타입 명시) Co-Authored-By: Claude <noreply@anthropic.com>
20 lines
653 B
C#
20 lines
653 B
C#
namespace TaxBaik.Infrastructure;
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using TaxBaik.Domain.Interfaces;
|
|
using TaxBaik.Infrastructure.Data;
|
|
using TaxBaik.Infrastructure.Repositories;
|
|
|
|
public static class DependencyInjection
|
|
{
|
|
public static IServiceCollection AddInfrastructure(this IServiceCollection services)
|
|
{
|
|
services.AddSingleton<IDbConnectionFactory, DbConnectionFactory>();
|
|
services.AddScoped<ICategoryRepository, CategoryRepository>();
|
|
services.AddScoped<IBlogPostRepository, BlogPostRepository>();
|
|
services.AddScoped<IInquiryRepository, InquiryRepository>();
|
|
|
|
return services;
|
|
}
|
|
}
|