Entity Framework 7 (rc1)의 전역 테이블 접두사

asp.net-core c# entity-framework entity-framework-core

문제

우리는 새로운 Entity Framework 7과 함께 ASP.NET 5의 RC1 릴리즈를 사용하고 있습니다. 데이터베이스에 테이블 이름을두고 모델이 존재하는 네임 스페이스의 이름을 접두사로 사용하고 싶습니다.

나는 Entity Framework의 이전 버전에서 이렇게하는 방법을 알고있다. ( 그래서이 질문에 감사한다.)하지만 나는 새 버전에서 똑같이하는 법을 알 수 없다. 나는 문서를 훑어보고 Googled하고 소스 코드에서 내 머리를 찔러 보았다.

EF6에서 내가하는 일 :

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Types().Configure(entity => entity.ToTable($"{entity.ClrType.Namespace?.Replace('.', '-')}_{entity.ClrType.Name}s"));

    base.OnModelCreating(modelBuilder);
}

EF7에서도 어떻게 할 수 있습니까? 이건 아마도 아직 거기에없는 것들 중 하나인가요?

수락 된 답변

모델을 직접 조작하여 OnModelCreating 이 끝날 때 수행하십시오.

foreach (var entity in modelBuilder.Model.GetEntityTypes())
{
    entity.Relational().TableName =
        $"{entity.ClrType.Namespace?.Replace('.', '-')}_{entity.ClrType.Name}s";
}

인기 답변

현재, Dic, 2015 년 9 월 현재 EF7 관례 회의 문제는 아직 공개되지 않았습니다.

https://github.com/aspnet/EntityFramework/issues/214

해당 링크를 방문하면 더 자세한 정보를 얻을 수 있습니다.




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.