간단한 프로젝트를 구현하기 위해 ASP.NET MVC 5 프레임 워크를 사용하고 있습니다. 이 프로젝트에서 아이덴티티 프레임 워크 테이블 (사용자, 역할 등)과 사용자 정의 테이블 (학생, 집주인 등)을 사용하고 싶습니다. 뿐만 아니라잘못된 개체 이름을 가져 오지 않고 Identity Framework 테이블 및 사용자 지정 테이블을 채우는 방법
public void PopulateAspNetTables()
{
context = new ApplicationDbContext();
// Define Users and insert them to IF database :
// **********************************************
var passwordHash = new PasswordHasher();
string password = passwordHash.HashPassword("[email protected]");
ApplicationUser user1 = new ApplicationUser
{
UserName = "user1",
Email = "[email protected]",
PasswordHash = password
};
context.Users.AddOrUpdate(user1);
context.SaveChanges();
}
:
는나는 또한 어떤 값으로 테이블을 초기화하고 싶습니다 그러므로 나는 나의 홈 컨트롤러에 다음과 같은 기능을 추가
public void PopulateOurDatabase()
{
dbCntxt = new DatabaseContext();
stdnt = new Student {StudentID = 1, FirstName = "FN", LastName = "LN", Age = 27, Sex = "Male", ContactNumber = "123456", Email = "[email protected]", AcademicYear = 1, AcademicDegree = "Electrical Engineering", AcademicSubject = "blabla" };
dbCntxt.Students.AddOrUpdate(stdnt);
dbCntxt.SaveChanges();
앞의 두 가지 기능을 것입니다 홈 컨트롤러 생성자에서 호출 할 수 있습니다.
public class HomeController : Controller
{
private DatabaseContext dbCntxt;
private ApplicationDbContext context;
private Student stdnt;
public HomeController()
{
PopulateOurDatabase();
PopulateAspNetTables();
}
....
....
}
이제 probl 그들을 내가 생성자에서이 함수를 호출 할 때마다 두 번째는 항상 오류가 발생하는 동안, 첫 번째가 제대로 작동하는지입니다 :
SqlException: Invalid object name 'dbo.AspNetUsers'.
내가 함수를 호출하는 순서를 변경하는 경우, AspNetUsers 테이블 것 나는 학생 테이블에 관해서도 똑같은 오류가 발생한다. 이것은 서버 탐색기에서 명확하게 볼 수 있습니다!
왜 그런 일이 발생합니까?
나는 내 자신의 컨텍스트를 만들었으므로 두 개의 다른 컨텍스트를 사용하기 때문에 이런 현상이 발생합니까? 이 경우 가장 좋은 방법은 무엇입니까?
감사합니다.
불행히도 이것은 작동하지 않았습니다. – Rashedkoutayni