mvc-5-code-first userid als Fremdschlüssel
Ich habe eine Tabelle:
public class TestModel
{
public int Id { get; set; }
public string UserId { get; set; }
public string Name { get; set; }
}
Ich möchte die Spalte UserId ein Fremdschlüssel, Mvc-Mitgliedschaft, die die Benutzer-Id-Spalte.
Wie kann ich erreichen das?
Meine IdentityModels:
public class ApplicationUser : IdentityUser
{
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie einen Verweis auf die
ApplicationUser
und geben Sie den ForeignKey:Fügen Sie das neue Modell im DbContext:
Und Sie sollten gut zu gehen (weniger Migrationen/Datenbank-updates).
Ich weiß nicht, wie die Idee der Verwendung von
[ForeignKey]
Attribut inTestModel
. Es ist besser, zu diesem Zweck mit der Fluent-API. Hier ist der code zum hinzufügenUserId
Spalte inTestModel
Tabelle, und fügen Sie eine Foreign Key-Einschränkung:Könnten Sie in Irrtum CS1061 wenn Gerüst mit Visual Studio 2015, es folgt nach der großen Antwort :
/*************************/
Fügen Sie das neue Modell im DbContext:
/*****************************/
Lösung
Löschen Sie die controller und views der betroffenen controller,
Umbenennen in DbContext
zu schauen, wie diese
Neu starten, VS, dann Schafott.
Disclaimer: Bin nicht der Autor der obigen Lösung nur bearbeitet und gepostet für jemand' profitieren