인프런 커뮤니티 질문&답변

taei1님의 프로필 이미지

작성한 질문수

[C#/.NET 7.0]어서와, WPF는 처음이지?

DB CRUD 설계는 하고.. 가야지..? (Interface, Service, D.I 활용)

코드 퍼스트

24.08.20 22:46 작성

·

46

1

안녕하세요 entity보고있는데요 혹시 지금 강의에서 보여준 방법이 코드퍼스트인지 궁금합니다

그리고 그 차이점과 wpf현업에서 사용하는 방법도 알려주세요

답변 1

1

RAZOR님의 프로필 이미지
RAZOR
지식공유자

2024. 08. 21. 17:57

taei1님 안녕하세요! 먼저 수강 감사드립니다 ㅎㅎㅎ 강의에서 보여드린 기법은 DB First입니다!

 

Code First와 Database First는 두 가지 주요 접근 방식으로, Entity Framework와 같은 ORM(Object-Relational Mapping) 프레임워크에서 데이터베이스와 상호작용하는 방법입니다! 각각의 차이점은 다음과같은데요!

 

Code First:

개념: 데이터베이스를 먼저 설계하는 대신, 애플리케이션의 도메인 모델을 코드로 먼저 작성합니다. Entity Framework가 이 모델을 기반으로 데이터베이스를 자동으로 생성하고 업데이트합니다.

장점: 도메인 모델을 코드로 직접 정의할 수 있어 개발자가 모델을 더 세밀하게 제어할 수 있습니다. 코드와 데이터베이스 구조 간의 불일치 문제를 줄일 수 있습니다.

단점: 기존의 데이터베이스 스키마가 있는 경우 적용하기 어려울 수 있으며, 초기 설계가 데이터베이스 구조에 대해 구체적이지 않을 수 있습니다.

 

Database First:

개념: 이미 존재하는 데이터베이스 스키마를 기반으로 애플리케이션의 도메인 모델을 생성합니다. Entity Framework가 데이터베이스 구조를 분석하여 데이터베이스와 연동되는 모델 클래스를 자동으로 생성합니다.

장점: 기존의 데이터베이스가 있는 경우 유용하며, 데이터베이스 스키마를 변경하는 경우 모델을 자동으로 업데이트할 수 있습니다.

단점: 모델이 데이터베이스 구조에 종속되며, 코드에서 직접적으로 도메인 모델을 정의하는 것보다 제어가 덜 될 수 있습니다.

 

현업에서는 프로젝트의 요구 사항, 데이터베이스의 상태, 개발자의 선호도에 따라 달라질 수 있습니다ㅎㅎㅎ 강의 파이팅하시고 다른 질문 있으면 말씀해주세요 :)

taei1님의 프로필 이미지
taei1
질문자

2024. 08. 22. 18:24

감사합니다

taei1님의 프로필 이미지

작성한 질문수

질문하기