전체 ASP.Net Identity 프레임 워크를 이해하는 데 어려움이 있습니다. 처음에는 Identity 1.0을 기존 응용 프로그램에 통합하려고했지만 2 개의 DbContext 클래스로 끝났습니다. 응용 프로그램 데이터가 MyDbContext에 있었고, IdentityDbContext의 Identity 사용자 데이터ASP.NET Identity 2.0 확장
내 응용 프로그램 데이터와 ID 관련 데이터 모두에 대해 단일 DbContext를 사용하려고하는데 DbContext를 사용할 때와 마찬가지로 IdentityDbContext를 사용할 수 있다는 다른 질문을 발견했습니다. 그러나, 나는 뭔가를 놓치고 있다고 생각한다.
I는 Identity 팀
PM> Install-Package Microsoft.AspNet.Identity.Samples -Pre
에서 샘플 프로젝트를 사용하고 ApplicationDbContext
public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
static ApplicationDbContext()
{
// Set the database intializer which is run once during application start
// This seeds the database with admin user credentials and admin role
Database.SetInitializer<ApplicationDbContext>(new ApplicationDbInitializer());
}
public virtual DbSet<Student> students { get; set; }
public virtual DbSet<Teachers> teachers { get; set; }
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
내가 그 둘을 채울 ApplicationDbInitializer 종자 방법을 사용하고 있습니다에 DbSet 속성을 삽입하려고 해요 테이블, 이런 식으로 :
Student s = new Student { Name = "John" ... };
db.students.Add(s);
db.SaveChanges();
EF가 보이지 않습니다. 이 2 개의 테이블을 생성하기 위해 seed 메소드가 호출되지 않았다면 어떻게 될까요?
편집 :
글쎄, 내가 EF는 삭제하고 데이터베이스를 다시하는 데이터베이스를 사용하는 코드를 실행하는 데 필요한.
모든 응용 프로그램 데이터를 관리하기 위해 IdentityDbContext를 사용할 때 오버 헤드가 있습니까? IdentityDbContext를 사용하고 IdentityDser> IdentityDbContext 제네릭 버전 <을 사용하는 경우의 차이점은 무엇입니까?