이번글에서는 .NET Framework 에서 MSSQL 접속하여 데이터를 가져오고 화면에 표시하는 법을 알아보도록 하겠습니다.
C# 에서는 간단히 콘솔 프로그램으로 만들어 콘솔창에 DB 내용을 보여주는 예제를 보여드리도록 하겠습니다.
아쉽게도 이후 버전인 .Net Core, .Net 프로그래밍에서는 이런 UI 프로그래밍의 제공이 사리지고 명령으로 모델을 추가 할 수 있도록 변경 되었습니다.
.Net Core 또는 .Net 프로그램에서 MSSQL 접속을 위해서는 다음글을 참조 하시면 됩니다.
![[C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용 1 [C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용](https://i0.wp.com/harostudio.co.kr/wp-content/uploads/2023/11/NET.png?fit=150%2C150&ssl=1)
DB 구조
먼저 MSSQL DB 구조를 보겠습니다. 이번글에서는 DB First 즉 DB 먼저 생성하고 .Net 프로그래밍으로 MSSQL 에 접속해서 데이터를 읽고 쓰는 방법에 대해 알아볼것입니다.
MSSQL 에서 DB 구조가 어떻게 되어 있는지 먼저 보겠습니다. 저는 인터넷에서 많이 사용하는 MSSQL 예제 NorthWind 를 MSSQL 에 생성하였습니다.
![[C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용 2 [C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용](https://i0.wp.com/harostudio.co.kr/wp-content/uploads/2023/11/AC_20231121-083550.png?resize=840%2C417&ssl=1)
위와 같이 Northwind 데이터베이스에서 Orders 라는 테이블의 데이터를 읽어보도록 하겠습니다.
프로젝트 생성
이제 실전으로 들어갑니다.
비쥬얼 스튜디오를 실행하고 테스트로 C# 콘솔앱을 하나 만들겠습니다. 저는 .Net Framework 4.6.1 로 만들겠습니다.
프로젝트 명을 TestMssql로 정해주었습니다.
![[C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용 3 [C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용](https://i0.wp.com/harostudio.co.kr/wp-content/uploads/2023/11/AC_20231121-103516.png?resize=840%2C591&ssl=1)
서버탐색기 연결
프로젝트가 만들어졌으면 DB 의 테이블을 매칭할 모델을 만들어 주도록 하겠습니다.
그 전에 비쥬얼 스튜디오 서버탐색기에서 MSSQL DB 를 연결해야 합니다.
![[C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용 4 [C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용](https://i0.wp.com/harostudio.co.kr/wp-content/uploads/2023/11/AC_20231117-160016.png?resize=454%2C178&ssl=1)
위에서처럼 서버탐색기에서 데이터 연결을 누르시고 연결 추가를 누릅니다.
![[C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용 5 [C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용](https://i0.wp.com/harostudio.co.kr/wp-content/uploads/2023/11/AC_20231117-160041.png?resize=502%2C384&ssl=1)
MSSQL 에 접속해야 하므로 Microsoft SQL Server 를 선택해 줍니다.
![[C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용 6 [C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용](https://i0.wp.com/harostudio.co.kr/wp-content/uploads/2023/11/AC_20231117-160226.png?resize=551%2C653&ssl=1)
해당 환경에 맞게 접속 정보를 누른신후 연결 테스트 한번 해보시고 확인을 누릅니다.
모델추가
이제 DB 모델을 추가 하겠습니다.
![[C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용 7 [C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용](https://i0.wp.com/harostudio.co.kr/wp-content/uploads/2023/11/AC_20231121-103908.png?resize=702%2C405&ssl=1)
비쥬얼 스튜디오 프로젝트 탭에서 새항목을 하나 ADD 합니다.
![[C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용 8 [C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용](https://i0.wp.com/harostudio.co.kr/wp-content/uploads/2023/11/AC_20231121-104816.png?resize=840%2C582&ssl=1)
데이터 탭에서 ADO.NET 엔티티 데이트 모델을 선택해 줍니다.
그런후 데이터 베이스의 EF Designer 를 선택해 줍니다.
![[C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용 9 [C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용](https://i0.wp.com/harostudio.co.kr/wp-content/uploads/2023/11/AC_20231121-105052.png?resize=620%2C564&ssl=1)
서버 접속 설정을 마무리 짖습니다. 위 처럼 서버접속 정보와 모델 정보를 입력하고 다음을 클릭합니다.
그리고 EntityFramework 6.X 를 설치 하라는 화면이 나오는데 다음을 선택하고 다음을 누릅니다.
![[C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용 10 [C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용](https://i0.wp.com/harostudio.co.kr/wp-content/uploads/2023/11/AC_20231121-105256.png?resize=616%2C562&ssl=1)
위의 DB 에서 Orders 테이블만 사용하도록 하겠습니다. 그리고 마침 버튼을 누르면 모델이 자동 생성됩니다.
![[C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용 11 [C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용](https://i0.wp.com/harostudio.co.kr/wp-content/uploads/2023/11/AC_20231121-105619.png?resize=389%2C277&ssl=1)
위 사진처럼 프로젝트에 Northwind.edmx 아이템이 자동 추가 되었고 그 하위로 Orders 테이블의 모델이 자동 생성된 것을 보실 수 있습니다.
데이터 가져오기
Program.cs 에서 다음처럼 코딩후 실행 시켜 보겠습니다.
모든 데이터를 콘솔창에 표시해보겠습니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestMssql
{
internal class Program
{
static void Main(string[] args)
{
using (var context = new NorthwindEntities())
{
foreach (var row in context.Orders)
{
Console.WriteLine(
$"OrderId : {row.OrderID} - CustomerId : {row.CustomerID}");
}
Console.WriteLine(
$"총 {context.Orders.Count()} 개 가 출력되었습니다.");
}
}
}
}
실행 시키면 다음과 같이 실행 됩니다.
![[C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용 12 [C#] .NET Framework 에서 MSSQL 접속하기 : entityframework 사용](https://i0.wp.com/harostudio.co.kr/wp-content/uploads/2023/11/AC_20231121-105928.png?resize=465%2C346&ssl=1)
결론
.Net Framework 에서 EntityFramework으로 MSSQL DB를 아주 쉽게 컨트롤 하는 방법을 배웠습니다.
DB 연결은 이렇게 쉽게 구성하였으니 EntityFrameWork 을 사용하여 Web 서버 또는 WPF 같은 UI 프로그램에서도 쉽게 접근하고 개발할 수 있습니다.