contract@chaoreumsoft.co.kr |    031-921-0523

Entity Framework Core 소개

페이지 정보

작성자최고관리자

본문

Entity Framework Core


Entity Framework Core는 EF 6.x 이후의 새 버전의 Entity Framework입니다. 오픈 소스로 가볍고 확장 가능하며, Entity Framework 데이터 액세스 기술의 플랫폼 간 버전입니다.


Entity Framework는 O/RM(개체/관계형 매핑) 프레임워크입니다. 개발자에게 데이터베이스의 데이터에 액세스하고 저장하기 위한 자동화된 메커니즘을 제공하는 ADO.NET의 향상된 기능입니다.


EF Core는 .NET Core 애플리케이션과 함께 사용 하기 위한 것입니다. 또한 표준 .NET 4.5+ 프레임워크 기반 응용 프로그램과 함께 사용 할 수도 있습니다.



아래 그림 지원되는 애플리케이션 유형, .NET Framework 및 OS를 보여 줍니다.


0dc9464e270a7c53b10f992ce51c360e_1651210919_4941.png
 

EF CORE 버전 기록 


0dc9464e270a7c53b10f992ce51c360e_1651211580_6733.png 

EF Core Roadmap: docs.microsoft.com/en-us/ef/core/what-is-new/roadmap

Track EF Core's issues at https://github.com/aspnet/EntityFrameworkCore/issues

EF Core Official Documentation: https://docs.microsoft.com/ef/core


EF CORE 개발 접근 방식 


EF Core는 두 가지 개발 접근 방식을 지원 합니다. 1) 코드 우선 2) 데이터베이스 우선

EF Core는 주로 코드 우선 접근 방식을 대상으로 합니다.


DB 모델용 비주얼 디자이너 또는 마법사가 EF Core 2.0부터 지원되지 않기 때문에 데이터베이스 우선 접근 방식을 거의 지원하지 않습니다.


코드 우선 접근 방식에서 EF Core API는 도메인 클래스에 제공된 규칙 및 구성을 기반으로 마이그레이션을 사용하여 데이터베이스와 테이블을 만듭니다. 이 접근 방식은 DDD(Domain Driven Design)에서 유용합니다.


데이터베이스 우선 접근 방식에서 EF Core API는 EF Core 명령을 사용하여 기존 데이터베이스를 기반으로 도메인 및 컨텍스트 클래스를 만듭니다. 이것은 비주얼 디자이너 또는 마법사를 지원하지 않기 때문에 EF Core에서 제한적으로 지원 됩니다.


0dc9464e270a7c53b10f992ce51c360e_1651211440_6467.png
 

EF Cre vs EF 6 

Entity Framework Core는 .NET Core 애플리케이션용 Entity Framework의 새롭고 향상된 버전 입니다. EF Core는 새롭기 때문에 아직 EF 6 만큼 성숙하지 않습니다.


EF Core는 EF 6 과 마찬가지로 다음 기능 및 개념을 계속 지원 합니다.

  • DbContext & DbSet
  • Data Model
  • Querying using Linq-to-Entities
  • Change Tracking
  • SaveChanges
  • Migrations

EF Core는 EF 6의 대부분의 기능을 점진적으로 포함 할 예정입니다. 

그러나 다음과 같이 EF Core 2.0에서 지원되지 않는 EF 6의 일부 기능이 있습니다.

  • EDMX/ Graphical Visualization of Model
  • Entity Data Model Wizard (for DB-First approach)
  • ObjectContext API
  • Querying using Entity SQL.
  • Automated Migration
  • Inheritance: Table per type (TPT)
  • Inheritance: Table per concrete class (TPC)
  • Many-to-Many without join entity
  • Entity Splitting
  • Spatial Data
  • Lazy loading of related data
  • Stored procedure mapping with DbContext for CUD operation
  • Seed data
  • Automatic migration


EF Core에는 EF 6.x에서 지원되지 않는 다음과 같은 새로운 기능이 포함 되어 있습니다.

  • Easy relationship configuration
  • Batch INSERT, UPDATE, and DELETE operations
  • In-memory provider for testing
  • Support for IoC (Inversion of Control)
  • Unique constraints
  • Shadow properties
  • Alternate keys
  • Global query filter
  • Field mapping
  • DbContext pooling
  • Better patterns for handling disconnected entity graphs

여기에서 EF Core와 EF 6의 차이점에 대해 자세히 알아 보세요.


EF Core 데이터베이스 공급자 

Entity Framework Core는 공급자 모델을 사용하여 다양한 데이터베이스에 액세스합니다.

EF Core에는 설치해야 하는 NuGet 패키지로 공급자가 포함되어 있습니다.

DatabaseNuGet Package
SQL ServerMicrosoft.EntityFrameworkCore.SqlServer
MySQLMySql.Data.EntityFrameworkCore
PostgreSQLNpgsql.EntityFrameworkCore.PostgreSQL
SQLiteMicrosoft.EntityFrameworkCore.SQLite
SQL CompactEntityFrameworkCore.SqlServerCompact40
In-memoryMicrosoft.EntityFrameworkCore.InMemory


Tag
Entity Framework Core , EF Cre vs EF 6 , Entity Framework Core 사용법, EF Core
© Chaoreumsoft Corp. All rights reserved.