Note 모듈 적용 가이드

  • 2 minutes to read

이 문서는 기존 프로젝트에 Azunt.NoteManagement 모듈을 적용하는 절차를 설명합니다.

기존 .NET 프로젝트에 Azunt 모듈 적용하기

이 강좌는 NuGet 패캐지로 게시한 각각의 모듈을 새로운 프로젝트에 설치해서 사용하는 방법을 데모로 진행합니다. Resource 모듈을 기준으로 설명하겠습니다.

1. NuGet 패키지 설치

먼저 아래 NuGet 패키지를 설치합니다.

Azunt.NoteManagement.dll

이 패키지는 Note 테이블 관리, CRUD, 초기화 및 DI 구성을 포함합니다.


2. Notes 테이블 초기화 메서드 작성

초기화 로직을 다음과 같이 구성합니다.

\Infrastructures\00_Initializers\02_SecurityInitializer.cs

private static void InitializeNotesTable(IServiceProvider services, ILogger logger, bool forMaster)
{
    string target = forMaster ? "마스터 DB" : "테넌트 DB";
    try
    {
        Azunt.NoteManagement.NotesTableBuilder.Run(services, forMaster);
        logger.LogInformation($"{target}의 Notes 테이블 초기화 완료");
    }
    catch (Exception ex)
    {
        logger.LogError(ex, $"{target}의 Notes 테이블 초기화 중 오류 발생");
    }
}

3. Notes 테이블 초기화 호출 추가

DatabaseInitializer 또는 프로젝트의 초기화 루틴에 Notes 초기화를 포함합니다.

\Infrastructures\00_DatabaseInitializer.cs

try
{
    // 보안(Security) 관련 테이블 초기화
    SecurityInitializer.Initialize(services, forMaster: true);
    logger.LogInformation("보안 관련 테이블 초기화 완료");

    // Notes 테이블 초기화
    SecurityInitializer.InitializeNotesTable(services, forMaster: true);
}
catch (Exception ex)
{
    logger.LogError(ex, "보안 또는 Notes 테이블 초기화 중 오류 발생");
}

4. Program.cs에서 Note 모듈 DI 등록

#region NoteManagement 
// Note 모듈 등록 (EF Core 모드 사용)
builder.Services.AddDependencyInjectionContainerForNoteApp(
    connectionString,
    Azunt.Models.Enums.RepositoryMode.EfCore
);
builder.Services.AddTransient<NoteAppDbContextFactory>();
#endregion

5. 데이터베이스 초기화 트리거

보통 Program.csapp 실행 직전에 다음과 같이 초기화를 트리거합니다.

var app = builder.Build();

#region 데이터베이스 및 인증 스키마 초기화
var config = app.Services.GetRequiredService<IConfiguration>();
bool initializeDatabase = config.GetValue<bool>("Database:InitializeOnStartup");

if (initializeDatabase)
{
    DatabaseInitializer.Initialize(app.Services);
}
else
{
    Console.WriteLine("Database initialization is skipped (Database:InitializeOnStartup = false)");
}
#endregion

appsettings.json에서 "Database": { "InitializeOnStartup": true } 설정이 필요합니다.

더 깊이 공부하고 싶다면
DevLec에서는 실무 중심의 C#, .NET, ASP.NET Core, Blazor, 데이터 액세스 강좌를 단계별로 제공합니다. 현재 수강 가능한 강좌 외에도 더 많은 과정이 준비되어 있습니다.
DevLec.com에서 자세한 커리큘럼을 확인해 보세요.
DevLec 공식 강의
C# Programming
C# 프로그래밍 입문
프로그래밍을 처음 시작하는 입문자를 위한 C# 기본기 완성 과정입니다.
ASP.NET Core 10.0
ASP.NET Core 10.0 시작하기 MVC Fundamentals Part 1 MVC Fundamentals Part 2
웹 애플리케이션의 구조와 MVC 패턴을 ASP.NET Core로 실습하며 익힐 수 있습니다.
Blazor Server
풀스택 웹개발자 과정 Part 1 풀스택 웹개발자 과정 Part 2 풀스택 웹개발자 과정 Part 3
실무에서 바로 활용 가능한 Blazor Server 기반 관리자·포털 프로젝트를 만들어 봅니다.
Data & APIs
Entity Framework Core 시작하기 ADO.NET Fundamentals Blazor Server Fundamentals Minimal APIs
데이터 액세스와 Web API를 함께 이해하면 실무 .NET 백엔드 개발에 큰 도움이 됩니다.
VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com