ASP.NET를 공부하던 중 EF가 무엇인가에 막혀서 찾아본 EF
C#과 같은 객체 지향형 프로그래밍(OOP)에서 데이터베이스를 쉽게 사용하기 위한 ORM(Object-Relational Mapping)도구
=> 객체(Object)와 관계형(Relational) 데이터베이스의 테이블을 Mappin하여 쉽게 데이터에 접근 할 수 있다
Microsoft가 직접 구현한 ORM으로는 EF와 LINQ TO SQL이 있다
Code First
먼저 C# 클래스로 테이블의 구조를 정의한다. 클래스의 속성을 테이블의 column에 Mapping한다.
미리 DB를 설계하지 않고 C# 클래스들로 Domain object를 정의하고 프로그램 실행시 DB가 없으면 자동으로 생성하는 방식
Model First
기존 DB가 없을 때 직접 Visual Model Designer에 Entity들을 하나씩 추가해 나가면서 Data Model을 구성하는 방식
Database First
기존 DB로부터 테이블 구조들을 읽어 Visual Model을 구성하는 방식