본문 바로가기
C++ 200제/코딩 IT 정보

Entity Framework 소개, Work Flow (ADO.NET)

by vicddory 2018. 11. 30.

Entity Framework 소개, Work Flow (ADO.NET)


Entity Framework 소개


Entity Framework 란?

- 데이터 지향 소프트웨어 응용 프로그램의 개발을 지원하는 ADO.NET의 기술 집합

- 개발자가 기본 Database 테이블과 해당 데이터가 저장된 Column을 고려할 필요 없이 고객이나 고객 주소와 같은 데이터를 도메인별 개체 및 속성의 형태로 다룰 수 있다.

- 개발자가 데이터 처리 시 보다 높은 추상 수준에서 작업할 수 있으며, 적은 코드로 데이터 지향 응용프로그램을 만들고 유지 관리할 수 있다.

- Entity Framework는 .NET Framework 구성 요소로 3.5 SP1 이상 버전이 설치된 컴퓨터에서는 모두 사용할 수 있다.


Entity Framework

- MS에서 만든 ORM 기술


ORM

- Object-Relational Mapping의 약자로 객체 관계 매핑이라 한다. 데이터베이스와 객체 지향 언어는 보는 방식이 다르므로 DBA와 개발자 간 다툼을 최소화하기 위해 나온 것이 ORM이다.


Entity Framework 아키텍처 wpf[Entity Framework 아키텍처]


- 엔티티 프레임워크에서는 개념적 모델의 엔티티 컨테이너를 나타내며, ObjectContext 에서 파생된 클래스를 생성.

이 개체 컨텍스트로 추적 및 관계를 관리하기 위한 기능을 제공


Entity Framework의 장단점


 장점

 단점

 편리함

 성능 저하 :

 다양한 기능을 제공하기 때문에 DataReader 사용 시 성능이 떨어짐

 코드 중복 제거

 허술한 추상화 :

 추상화가 비교적 잘 되어있지만, SQL문을 직접 사용하는 것이 더 편함

 오타로 인한 오류 발생 적음

 기능 부족

 SQL 인젝션 발생이 적음

 



Entity Framework - Work Flow


- Entity Framework에는 작업 흐름이라는 것이 존재하며 , DB테이블과 C#클래스가 흐름 별 생성 되는 순서가 다르다.

- Database First : 테이블 생성 -> VisualStudio에 테이블 정보 불러오기 -> C# 클래스 생성

- Model First : VisualStudio에서 Model들의 관계 설정 -> C# 클래스와 테이블 생성

- Code First : C# 클래스 작성 -> Table 생성


Code First  C# 클래스 작성 - Table 생성[Code First : C# 클래스 작성 -> Table 생성]


Entity Framework 소개, Work Flow (ADO.NET)