반응형
SMALL
Blazor Server 앱에 Maria Data Base 연결하기
준비물
- Visual Studio 2022
- Net.7
- Blozar Server App
- Microsoft.EntityFreamworkCore
- Pomelo.EntityFreamworkCore.Mysql
- Microsoft.EntityFreamworkCore.Tools ( 필수 아님 )
# 앱 생성 과정 생략
1. NuGet 패키지 매니저에서 아래 패키지 설치
2. Models 폴더를 만들고 사용할 DbModel 및 DbContext 작성
- - DbSet을 통하여 참조할 Model을 변수로 선언해 준다
- 변수명과 내부 칼럼명은 Db 스키마와 일치시켜줘야 한다.
- key와 require를 지정해주어야 한다.
- 위 사항을 지키지 않으면 invaild_filed 에러가 난다.
- 클래스에 DbContext를 상속받고 아래처럼 코드를 작성해 준다
- IConfigureationRoot를 통해서 env ( appsettings.json )에 있는 connnetionString의 MariaDb 세팅값을 가져온다.
- 작성한 DbContext 클래스를 Program.cs 에 bulder.service에 AddDbContext를 사용해서 참조해 준다
- AddDbContext 아래 AddHttpClient를 꼭 추가해 준다 ( 추가 안 하면 에러가 난다 )
3. index.razor 파일에 불러온 칼럼값 랜더 해보기
- 우선 Db의 값을 가져오기 위하여 Contoller를 먼저 작성해 본다. 폴더 구조는 아래와 같다.
- TestController.cs를 새로이 만들어준다.
- 코드는 아래와 같이 작성해 줄 것이며, Route는 우리가 이 Controller에서 사용할 ip 주소 다음 오게 될 Path이다.
- DbContext를 readOnly 변수로 선언해 주고 TestController에 생성자를 주입한다.
- 비동기 처리를 위해 Get을 실행할 메서드에 async => return await를 붙여서 작성해 준다.
- 이제 index.razor로 돌아와 HttpClient와 NavagationManager를 Inject 해준 후 아래와 같이 코드를 작성해 준다.
- 우리가 받을 데이터를 List로 변수선언 해주고 OnInitializedAsync를 통해서 초기 구성요소로 값을 삽입해 준다.
- 여기서 NavagationManager.BaseUrl은 Ip 주소 또는 도메인이며 뒤에 test는 controller Route 주소이다.
4. 앱 실행하고 값 확인하기
- 잘 나오는 것을 확인할 수 있다.
참고 : appsettings.json Db 주소 세팅
LIST
'Programming > c#' 카테고리의 다른 글
LINQ ( 린큐, Language-INtegrated Query ) (0) | 2023.11.02 |
---|