VB.NET 쿼리 없이 DB 사용하기 (EntityFrameworkCore) #1/3

2024. 2. 12. 11:04VB.NET/MS-SQL

항상 ADO를 사용하는게 익숙했는데, 아무래도 MAUI와 같은 멀티플랫폼에서의 호환성을 위해 ADO는 점점 사라지는 추세인듯 하다.

 

그래서, 다른 대안을 찾다보니 EntityFrameworkCore가 있더라. 이건 하위 쿼리문을 프레임으로 감싸서 쿼리문을 사용하지 않고도 DB를 사용하게 만들어주는 개념이다.

 

여태 DB를 사용하려면 무조건 쿼리문을 사용했었는데, 이제 쿼리문조차 필요없는 시대가 됐으니 이 또한 격세지감을 느끼게 되는 부분이다. 기술의 발전은 끝이 없으니 항상 공부하는 수 밖에...

 

이 타이밍에 DB를 사용하는 이유와 주된 목적에 대해 생각해보자.

 

DB는 동일한 형식의 데이터를 (아주) 많이 저장해놓고, 이걸 불러올때 정렬을 하거나, 조건을 주는 등의 방식으로 원하는 데이터를 빠르게 불러오기 위해 사용하는게 가장 일반적이다.

 

그렇기에 DB 엔진도 이 작업을 더 빠르고 정확하게 할 수 있도록 지속적으로 발전해왔다.

 

하지만, 이렇게 빠른 DB를 사용하기 위해 우리 개발자는 각 DB 제작사에서 제공하는 자체 문법을 별도로 공부해야 했다. 쿼리문이라 불리는 이 문법은 거의 비슷하지만 제작사별로 조금씩 차이점이 있기 때문에 결국 자기가 가장 잘하는 DB를 사용하게 되는 선택의 한계에 부딪히게 된다.

 

MS-SQL을 사용하는 개발자가 Oracle이나 MySQL 등의 다른 DB를 사용하려면 또 그만큼의 진입장벽이 생기게 되는 것이고, 이는 결국 프로그램의 생산성 문제와 직결되게 되는 것이다.

 

더불어 Windows, Android, Apple를 모두 지원하는 멀티플랫폼으로 개발을 하는 경우 더이상 ADO를 사용할 수가 없으니, 이제는 어쩔 수 없이 EntityFrameworkCore와 같은 프레임워크를 사용하거나, 각 플랫폼별로 맞춤 제작을 해야 하는 것이다.

 

이에, 이번 강좌에서는 VB.NET에서 EntityFrameworkCore를 이용해서 MS-SQL을 사용하는 방법에 대해 알아보려고 한다. Visual Studio Community 2022와 .NET Framework 8.0으로 작성됐으며, .NET Framework 4.8.1등 예전버전에서는 동작하지 않으니 주의하시기 바란다.

 

1. 작업 개요

 

여태 한번도 사용해본 적이 없는 EntityFrameworkCore를 사용하기 위해서는 기본적으로 적응해야 할 부분들이 제법 있다. 뭐든 새로운 개념을 받아들이기까지는 시간과 노력이 필요하니 감수할 부분은 감수하면서 살펴보도록 하자.

 

전체 흐름을 간략히 정리해보자.

 

(1) 프로젝트 생성

  • Visual Studio Community 2022로 새 프로젝트를 생성한다.
  • .NET Framework 8.0
  • Windows Form 프로젝트로 생성

(2) NuGet 패키지

  • Microsoft.EntityFrameworkCore, Microsoft.EntityFrameworkCore.SqlServer의 두개의 패키지를 설치한다.

(3) DB 생성

  • SSMS를 이용해서 예제용 DB를 생성하고, 테이블을 하나 만들어주자.
  • 테이블명 user_info
  • 필드는 user_id (varchar(50)), user_name(varchar(50)), user_score(integer)의 세개 필드만 만들어주자.
  • EntityFrameworkCore에 더 익숙해지면 테이블도 만들고, 수정하고, 삭제할 수도 있지만 이 부분은 차후 시간이 허락하면 만들어보기로 하자.

(4) DB의 Field와 1:1 매칭이 되는 데이터 전용 클래스 생성

  • User_id, User_name, User_score의 멤버 변수를 갖는 데이터 전용 클래스를 생성한다.

(5) DB에 연결하기 위한 클래스 생성

  • DBConn이라는 클래스를 생성해서 DB와 연결한다.

(6) DB를 사용하기 위한 클래스 생성

  • ClassDB 라는 클래스를 생성해서 DB를 사용한다.
  • 쿼리문의 Select 기능을 대체하는 함수
  • 쿼리문의 Insert 기능을 대체하는 함수

(7) 메인 폼에서 DB의 내용을 읽고 쓰기

  • Select, Insert 버튼 생성
  • ListBox 컨트롤에 DB의 내용을 뿌리기

이정도 흐름으로 예제를 차근차근 만들어갈 예정이니 강좌를 하나씩 따라하면서 EntityFrameworkCore의 사용법에 대해 정확히 숙지하도록 하자.

 

이번 강좌는 EntityFrameworkCore을 처음 접하는 개발자가 대상이니 하나씩 아주 상세히 알아보도록 하겠다.

 

위 흐름에 따라 다음 강좌부터 제대로 시작해 보도록 하자.

 

2024.02.14 - [VB.NET/MS-SQL] - VB.NET 쿼리 없이 DB 사용하기 (EntityFrameworkCore) #2/3

 

VB.NET 쿼리 없이 DB 사용하기 (EntityFrameworkCore) #2/3

이번 시간에는 지난번에 언급했던 작업 순서에 따라 차근차근 아주 상세하게 EntityFrameworkCore을 이용해서 MS-SQL을 사용하는 방법에 대해 알아보도록 하자. 1. 프로젝트 생성 VS2022 Community로 새 프로

chakhani.tistory.com

2024.02.15 - [VB.NET/MS-SQL] - VB.NET 쿼리 없이 DB 사용하기 (EntityFrameworkCore) #3/3

 

VB.NET 쿼리 없이 DB 사용하기 (EntityFrameworkCore) #3/3

이번 시간에는 지난 시간에 이어서 EntityFrameworkCore을 사용해서 DB의 내용을 가져오고, DB에 내용을 저장하는 기능을 구현해 보도록 하자. 6. DB를 사용하기 위한 클래스 생성 ClassDB 라는 클래스를

chakhani.tistory.com

 

반응형