2016-06-03 2 views
0

사용자 정의 사용자 정의 클래스를 사용자 정의합니다.RoleId 및 UserId에 대한 사용자 정의 IdentityUser 복제 열

public class AppUser : IdentityUser<int, AppUserLogin, AppUserRole, AppUserClaim> { } 
public class AppUserRole : IdentityUserRole<int> { } 
public class AppRole : IdentityRole<int, AppUserRole> { } 
public class AppUserClaim : IdentityUserClaim<int> { } 
public class AppUserLogin : IdentityUserLogin<int> { } 

그리고 데이터베이스를 다시 만들 때마다 항상 아래 그림과 같이 나타납니다.

enter image description here

enter image description here

enter image description here

이 원인이 어떤 생각? Fluent API를 사용하여 이것을 설정해야합니까? 나는 전에 이것을했고 다른 프로젝트에서는 그렇게 할 필요가 없다. 그럼이 같은

+0

예, 필드는이 접두사가 없습니다. 기본 명명 규칙은 외래 키를 확인할 수 없으므로 명시 적으로 매핑해야합니다. –

답변

0

: 당신 실체가`앱 ..... '라는 이름 때문에

modelBuilder.Entity(ApplicationUser).HasMany(p => p.Roles).WithRequired().HasForeignKey(p => p.UserId); 
modelBuilder.Entity(ApplicationRole).HasMany(p => p.Users).WithRequired().HasForeignKey(p => p.RoleId);