플러그 인 API

EF Core 확장에는 코어 EF 및 공급자 구성 요소에 논리를 추가해야 하는 경우가 많습니다. 이렇게 하려면 일반적으로 파생 구성 요소를 만들고 내부 서비스 공급자에서 원래 구성 요소를 대체해야 합니다. 여러 확장에서 동일한 구성 요소를 변경하려는 경우 이 작업이 복잡해집니다. 이러한 경우 여러 확장에서 추가 논리를 제공할 수 있도록 플러그 인 API를 제공합니다.

서비스 목록

다음은 플러그 인 API 목록입니다.

서비스 설명
ITypeMappingSourcePlugin .NET 형식과 기본 저장소 형식 간에 매핑을 추가합니다.
IRelationalTypeMappingSourcePlugin .NET 형식과 기본 관계형 데이터베이스 형식 간에 매핑을 추가합니다.
IConventionSetPlugin 모델 빌드 규칙을 추가합니다.
IMemberTranslatorPlugin .NET 속성에 대한 SQL 번역을 추가합니다.
IMethodCallTranslatorPlugin .NET 메서드에 대한 SQL 번역을 추가합니다.
IAggregateMethodCallTranslatorPlugin .NET 열거 가능한 메서드에 대한 SQL 번역을 추가합니다.
IEvaluatableExpressionFilterPlugin 특정 식의 서버 평가를 강제합니다.
IProviderCodeGeneratorPlugin 스캐폴드 제공자 및 DbContext 옵션.

예제

다음은 이러한 API를 사용하는 몇 가지 확장입니다.

Extension 설명
Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite SpatiaLite 형식에 대한 형식 매핑 및 SQL 번역을 추가합니다.
Microsoft.EntityFrameworkCore.SqlServer.HierarchyId SQL Server의 hierarchyid 형식에 대한 형식 매핑 및 SQL 번역을 추가합니다.
Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite SQL Server의 지리 및 기하 도형 형식에 대한 형식 매핑 및 SQL 번역을 추가합니다.
EFCore.CheckConstraints 관계형 데이터베이스 검사 제약 조건에 대한 모델 빌드 규칙을 추가합니다.
EFCore.NamingConventions 대체 관계형 데이터베이스 테이블, 열 및 제약 조건 이름에 대한 모델 빌드 규칙을 추가합니다.