티스토리 뷰
목차
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 아키텍처]
- 엔티티 프레임워크에서는 개념적 모델의 엔티티 컨테이너를 나타내며, 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 생성]
Entity Framework 소개, Work Flow (ADO.NET)