표준 ASP.NET MVC4 응용 프로그램이 있고 EF 코드 우선 DAL을 구축하고 있습니다. 현재 20-30 가지 모델이 있으며 사용자와 역할을 통합하고자하는 시점에 있습니다. 나는이 톤에 대한 연구를 해왔고 여전히 작동시키지 못하고있다. 여기에 내가 지금 무엇을 가지고 : 내 데이터베이스시 초기화 클래스에서 SimpleMembershipProvider가 데이터베이스에 테이블을 추가하지 않습니다.
나는 데이터의 무리와 함께 씨앗 (I 모델을 변경할 때마다 호출되는), 다음이 전화 :public class DbInit : DropCreateDatabaseIfModelChanges<TrackerContext>
{
protected override void Seed(TrackerContext context)
{
...seed stuff and save it...
WebSecurity.InitializeDatabaseConnection("TrackerContext", "User", "Id", "UserName", autoCreateTables: true);
}
}
그것을 디버깅을 통해 어떤 오류도 발생시키지 않으며이 코드 줄을 친다는 것을 확인할 수 있습니다. 내 사용자 모델은 다음과 같습니다 : I 읽고
모두에서public class User
{
public int Id { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public PasswordQuestion PasswordQuestion{ get; set; }
public string PasswordAnswer { get; set; }
public string Type { get; set; }
}
, 나는 이것이 내가이 작업을 얻기 위해해야 할 일은해야한다 생각했지만 두 가지 문제가 있습니다
없음 회원 테이블은
내 구성 내가 WebMatrix.WebData DLL을
<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
<providers>
<clear/>
<add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
</providers>
</roleManager>
<membership defaultProvider="SimpleMembershipProvider">
<providers>
<clear/>
<add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
</providers>
</membership>
내가 여기 실종 무엇 : 여기
는 설정 부분입니까?
당신이 원하는 클래스의 DbContext 클래스를 만들었다면, 이것은 마이그레이션이 시작되어 이러한 테이블을 생성하는 곳입니다. 그러나이 특정 문제에 대해서는 Simple Membership Provider로 생성 된 테이블에 대해 이야기하고 있습니다. 이러한 테이블은 WebSecurity.InitializeDatabaseConnection (...) 줄을 호출 할 때 만들어집니다. 이 질문은 일종의 더 오래된 질문이기 때문에 정확한 문제가 무엇인지 알지 못하지만 이제는 일반적으로이 행을 global.asax에두고 마이그레이션과는 별개로 작동합니다. – ledgeJumper
Simple Membership Provider가 데이터베이스에 포함하는 테이블에 대해 이야기하고 있습니까? 이 튜토리얼에서는 2 개의 튜토리얼을 소개합니다. 그 테이블을 만들지 않았기 때문에 수동으로 만들어야했기 때문에 비슷한 문제가있었습니다. 그러나 나는 그것이 당신을 해결했다고 읽게되어 기쁘다. – Yustme