엔터티 형식 &#39;Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin <string> &#39;키를 정의해야합니다.

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

문제

EF7을 사용하는 ASP.NET5 MVC 응용 프로그램이 있습니다. 그것은 지금까지 모두 잘 작동하며 데이터베이스에 마이그레이션을 추가하고 데이터를 유지할 수 있습니다. 이제 데이터 레이어 프로젝트에 ID를 추가 한 후 새 마이그레이션을 추가 할 때이 오류가 발생합니다.

엔터티 형식 'Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin'을 정의하려면 키가 필요합니다.

내 컨텍스트는 IdentityDbContext에서 파생됩니다.

public class ASSWebApiContext : IdentityDbContext<AppUser>

AppUser 클래스 :

public class ASSWebApiContext : IdentityDbContext<AppUser>

project.json

public class ASSWebApiContext : IdentityDbContext<AppUser>

여기서 한 모든 작업은 관련 새로운 패키지 "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final"을로드하고 AppUser 클래스를 추가하는 것입니다. 베타 -8을 사용하는 유사한 프로젝트에서 문제없이 작동하는 정확한 패턴을 사용했습니다. beta-8와 rc-1 사이에 관련 변경 사항이 있습니까?

감사!

아래는 ASSWebApiContext의 일부입니다. DbSet이있는 대부분의 엔티티에는 modelBuilder.Entity가 있습니다. 그래서 파일은 꽤 오래갑니다 ...

public class ASSWebApiContext : IdentityDbContext<AppUser>

수락 된 답변

기본적으로 신원 테이블의 키에 매핑되는 OnModelCreating 방법 IdentityDbContext 이 메소드가 호출되지 않은 경우, 당신은 당신이있어 오류가 종료됩니다. 이 메서드는 IdentityDbContext 에서 파생되고 코드에서와 같이 OnModelCreating 대한 고유 한 정의를 제공하는 경우 호출되지 않습니다. 이 설정을 사용하면 base.OnModelCreating 문을 사용하여 IdentityDbContextOnModelCreating 메서드를 명시 적으로 호출 base.OnModelCreating 합니다. 이 대답 은 또한 여기에 올린 옵션에 대해서도 설명합니다.




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