2017-12-27 55 views
1

모든 데이터베이스 엔티티에 대해 GUID를 사용하므로 클러스터 된 인덱스로 작업하지 않는 것이 좋습니다. 모델 빌더를 가로채는 방법으로 기본 키에 클러스터 된 색인을 생성하지 않도록 EF Core 2에 지시 할 수 있습니까?전체 모델에서 클러스터 된 인덱스 비활성화

+0

일반적으로 클러스터 된 인덱스를 갖는 것이 가장 좋습니다. 기본 키와 같을 필요는 없습니다. –

+0

Agree @Damien_The_Unbeliever하지만 모든 기본 키에 대해 클러스터 된 인덱스를 사용하지 않도록 설정 한 후에는 SQL Server를 돕기 위해 클러스터 된 인덱스 열을 추가합니다. – Alexandre

답변

1

현재 이러한 설정/옵션 제어가 없습니다. 이 경우 일반적으로 엔터티 형식을 반복하고 PK 관계형 (또는이 경우 SqlServer) 특성을 수정하는 OnModelCreating 끝에 루프를 넣을 수 있습니다 (

).
foreach (var entityType in modelBuilder.Model.GetEntityTypes()) 
{ 
    var key = entityType.FindPrimaryKey(); 
    key.SqlServer().IsClustered = false; 
}