Ich verwende das ASP.NET MVC 5-Framework, um ein einfaches Projekt zu implementieren. In diesem Projekt möchte ich Identity Framework Tables (Benutzer, Rollen, etc ..) sowie benutzerdefinierte Tabellen (Student, Vermieter, etc ..) verwenden.So füllen Sie Identity Framework-Tabellen und benutzerdefinierte Tabellen, ohne den Namen des ungültigen Objekts zu erhalten
Ich möchte auch die Tabellen mit einigen Werten initialisieren, deshalb habe ich die folgende Funktion zu mir nach Hause Controller:
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();
}
sowie:
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();
Die vorherigen zwei Funktionen im Home-Controller-Konstruktor aufgerufen werden:
public class HomeController : Controller
{
private DatabaseContext dbCntxt;
private ApplicationDbContext context;
private Student stdnt;
public HomeController()
{
PopulateOurDatabase();
PopulateAspNetTables();
}
....
....
}
Jetzt ist das Problem em ist, dass, wenn ich die beiden Funktionen im Konstruktor aufrufen, die erste richtig funktioniert, während der zweite immer einen Fehler wirft:
SqlException: Invalid object name 'dbo.AspNetUsers'.
Wenn ich die Reihenfolge ändern, in der ich die Funktionen aufrufen, AspNetUsers Tabelle würde ordnungsgemäß erstellt werden, während derselbe Fehler in Bezug auf Student-Tabellen auftritt. Dies ist im Server Explorer deutlich zu sehen!
Warum passiert das?
Und da ich meinen eigenen Kontext erstellt habe, tritt dies auf, weil ich zwei verschiedene Kontexte verwende? Was ist die beste Vorgehensweise in diesem Fall?
Vielen Dank.
Leider hat das auch nicht funktioniert. – Rashedkoutayni