C # - Fremdschlüssel verweist auf ungültige Tabelle - Grundlegende Migration funktioniert nicht
Versuche mein erstes Projekt in C # zu machen. Bisher ist es jedoch sehr frustrierend. Dies ist ein Problem, das ich nicht lösen kann, da ich nichts Falsches sehe.
Ich versuche nur eine einfache Migration in meiner DB durchzuführen.
Users-Migrationsdatei
public override void Up()
{
CreateTable(
"dbo.Users",
c => new
{
user_id = c.Int(nullable: false, identity: true),
first_name = c.String(),
last_name = c.String(),
email = c.String(),
role = c.String(),
})
.PrimaryKey(t => t.user_id);
}
Locations-Migrationsdatei
public override void Up()
{
CreateTable(
"dbo.Locations",
c => new
{
loc_id = c.Int(nullable: false, identity: true),
loc_name = c.String(),
})
.PrimaryKey(t => t.loc_id);
CreateTable(
"dbo.UserLoc",
c => new
{
ul_id = c.Int(nullable: false, identity: true),
fk_user_id = c.Int(nullable: false),
fk_loc_id = c.Int(nullable: false),
})
.PrimaryKey(t => t.ul_id);
AddForeignKey("dbo.UserLoc", "fk_user_id", "dbo.Users", "user_id");
AddForeignKey("dbo.UserLoc", "fk_loc_id", "dbo.Locations", "loc_id");
}
Models:
User.cs
public class User
{
[Key]
public int user_id { get; set; }
public string firs_tname { get; set; }
public string last_name { get; set; }
public string email { get; set; }
public string role { get; set; }
}
Location.cs
public class Locations
{
[Key]
public int loc_id { get; set; }
public int loc_name { get; set; }
}
UserLoc.cs
public class UserLoc
{
[Key]
public int ul_id { get; set; }
[ForeignKey("Users")]
public int fk_user_id { get; set; }
public virtual User user { get; set; }
[ForeignKey("Locations")]
public int fk_location_id { get; set; }
public virtual Locations location { get; set; }
}
Jedes Mal, wenn ich migrieren möchte, erhalte ich den gleichen Fehler
Foreign-Schlüssel 'FK_dbo.UserLoc_dbo.Users_fk_user_id' verweist auf ungültige Tabelle 'dbo.Users'. Einschränkung oder Index konnte nicht erstellt werden. Siehe vorherige Fehler.
Was mache ich falsch