안녕하세요
신규로 프로젝트 진행중인데 데이터베이스를 MYSQL Enterprse 버전을 이용 중에 있습니다.
데이터베이스 ORM으로 Entity Framework와 Dapper가 있는데 최근 어느 것을 많이 이용하나요
현재 Dapper 연동을 할까 합니다.
추전 부탁 드립니다.
안녕하세요
신규로 프로젝트 진행중인데 데이터베이스를 MYSQL Enterprse 버전을 이용 중에 있습니다.
데이터베이스 ORM으로 Entity Framework와 Dapper가 있는데 최근 어느 것을 많이 이용하나요
현재 Dapper 연동을 할까 합니다.
추전 부탁 드립니다.
EF Core(또는 EF)는 어느정도 장기간의 학습시간이 필요하고 데이터를 바라보는 시각도 일반적인 SQL 쿼리 경험과 조금 달라 과정중에 혼선 및 어려움이 발생합니다. 어느정도 개념을 정립한 후에야 EF Core는 진정으로 ORM의 장점이 발현되는데요, 사실 그 전까지는 경험상 팀웍으로 일했을 때 개발자들의 피드백이 좋지는 않았습니다. 가령 질의문의 작성의 어려움등, 꽤 있었습니다.
그래서 용역 프로젝트의 경우 EF Core를 추천드리지 않고요, 장기간 계획되어 있는 자사 솔루션 개발에 한해서 충분한 학습시간과 팀원간의 호흡을 통해 EF Core에 접근하시는게 맞는것 같고요,
Dapper는 마이크로 ORM이라고 하는데 사실 완전한 ORM이 아닙니다. 덕분에 ORM 사상으로 설계되지 않은 데이터베이스 구조에도 잘 활용할 수 있고 SQL 문을 체계적으로 관리할 수 있고 클래스 인스턴스로 잘 변환해주기 때문에 직접 SQL 질의를 해서 결과를 가공할 필요가 없는 편리함을 제공합니다. 학습 시간도 대략 일주일 정도면 초급 개발자도 활용할 수 있을 수준이 되고요.
결정에 도움이 되었길 바랍니다.
최근에 비슷한 글이 있어 링크 남깁니다. 주제는 조금 다르지만 이 글에 달린 답변을 하나씩 읽어보셔도 좋을 것 같아요