Entity Framework(EF)

yiniwini·2021년 9월 23일
0

입사하고 난뒤 회사 솔루션을 대대적으로 개선하기 위해 회의를 한 내용 중 Entity Framework라는 개념이 있었는데, 이 개념에 대해 전혀 알지 못해서 공부겸 간략히 정리해 보았다.

Entity Framework(EF)

: 객체지향형 프로그래밍(OOP)에서 Database를 쉽게 사용하기 위한 ORM(Object-Relational Mapping) 도구

→ OOP의 객체(Object)와 관계형(Relational) DB의 테이블을 Mapping하여 (ADO.NET에서와 같이 별도의 SQL Query를 작성하지 않고도) 쉽게 Data에 Access할 수 있다.

  • Microsoft사가 구현한 ORM 기술 :
    -EntityFramework(EF)
    -LINQ TO SQL

    +NHibernate, Dapper 등


    EF는 ASP.NET에서만 사용하는 것은 아니지만, ASP.NET MVC에서 Data를 Access하는 기본 Framework로 EF를 사용하였기 때문에 MVC를 사용하면 자연스럽게 EF를 사용할 수 있다.


    Entity Framework Model에는 크게 3가지 접근 모델이 있다.


    (1)Code First
    : Code First는 C# 클래스로 테이블의 구조를 정의. 클래스의 속성을 테이블의 column에 Mapping. 미리 DB를 설계하지 않고 C# 클래스들로 Domain Object를 정의하고 프로그램 실행시 DB가 없으면 자동으로 DB를 생성하는 방식.


    (2)Model First
    : Model First는 기존 DB가 없을 때 직접 Visual Model Designer에 Entity들을 하나씩 추가해 가면서 Data Model을 구성.


    (3)Database First
    : Database First는 기존 DB로부터 테이블 구조들을 읽어 Visual Model을 구성.

→ 위 3가지 모델은 (Visual Studio의) Visual Model Designer(EDMX)를 통해 객체/테이블 Mapping을 디자인하는 방식 → *.edmx 라는 파일에 저장

profile
LIFE LIKE LIFE

0개의 댓글