728x90
특징 | EF Core | SmartSQL | Dapper | NHibernate |
---|---|---|---|---|
ORM 타입 (마이크로소프트 공식 지원/권장) | Full ORM (권장) | Micro ORM (SQL 중심) (아닌 듯) | Micro ORM (SQL 중심) (아닌 듯) | Full ORM (아닌 듯) |
SQL 관리 방식 | Code-first, Database-first | XML 매핑 | SQL 직접 작성 | XML 매핑 |
성능 | 중간 (자동화된 매핑 및 트랜잭션 관리로 일부 오버헤드 있음) | 높음 (SQL 쿼리 최적화 가능) | 매우 높음 (최소한의 오버헤드) | 중간 (많은 기능 제공으로 인해 성능 최적화가 필요) |
학습 곡선 | 다소 어려운 편 (ORM 개념 이해 필요) | 적당함 (SQL 작성법에 익숙해야 함) | 쉬움 (SQL에 익숙한 개발자에게 빠름) | 어려움 (객체-관계 매핑 및 복잡한 설정 필요) |
유연성 | 적당히 유연함 (Fluent API 또는 Data Annotations) | 매우 유연함 (직접 SQL 작성 및 매핑 관리 가능) | 매우 유연함 (SQL을 직접 작성하고 매핑 처리) | 매우 유연함 (XML 매핑 및 코드로 매핑 처리 가능) |
데이터베이스 지원 | Microsoft SQL Server, PostgreSQL, MySQL 등 | SQL Server, MySQL, PostgreSQL 등 | SQL Server, PostgreSQL, MySQL 등 | SQL Server, MySQL, PostgreSQL 등 |
트랜잭션 관리 | 자동으로 트랜잭션 관리 | 트랜잭션 관리 수동 처리 | 트랜잭션 관리 수동 처리 | 자동으로 트랜잭션 관리 |
매핑 방식 | 객체 모델을 사용하여 자동 매핑 | XML을 통해 직접 SQL을 관리 | SQL과 객체 간 매핑 | XML 파일 또는 Fluent API로 객체와 DB 매핑 |
커스터마이징 | Fluent API와 Data Annotations을 통한 커스터마이징 가능 | 직접 SQL 작성 및 쿼리 커스터마이징 가능 | SQL 작성 및 매핑을 코드에서 직접 처리 | XML을 통한 고급 매핑, 캐시 관리 및 성능 최적화 가능 |
지원되는 기능 | 자동화된 쿼리 생성, 캐시 관리, Lazy Loading 등 | 동적 SQL, 쿼리 캐싱, 성능 진단 등 | 기본적인 쿼리 실행, 성능 최적화 | 동적 SQL 생성, 복잡한 트랜잭션 관리, 객체 그래프 관리 |
'저도공부를하긴한답니다?' 카테고리의 다른 글
그러면 Docker 기반 .NET Build는 어떤 게 도커여야 한다는 거야? Web Application Server? 아니면 gitea actions가 docker에 있어야 한다는거야? 왜냐하면 내가 배포하고 싶은 Web Application Server는 VM 에 있거든. 컨테이너로 올릴 수 없어. (0) | 2025.03.10 |
---|---|
gitea actions 에서 Docker 기반 .NET 빌드가 가능하다고 적혀있잖아. 그러면 MSBuild와 .NET SDK 와는 무엇이 다른거야? (0) | 2025.03.10 |
웹 기반 깃티 젠킨스 비교 (0) | 2025.03.06 |
깃티 젠킨스 비교 (0) | 2025.03.06 |
EF Core 변경 추적 기능 (0) | 2025.03.06 |