Hier in einer ziemlich lächerlichen Situation gelandet.EF-Code zuerst Referenzschlüssel als Primärschlüssel
Ich bin in EF-Kern, ASP.NET-Kern, Visual Studio 2017 Community codieren.
Ich habe ein Modell, das keinen Primärschlüssel wie hat:
public class LoginRecord
{
public User User { get; set; }
public int UserId { get; set; }
public DateTime LastLogin { get; set; }
public int LoginCount { get; set; }
}
wo User
eine Tabelle mit allen Feldern wie Name, E-Mail usw.
Wenn ich add-migration
tun, wird ein Fehler erscheint:
Der Entitätstyp 'LoginRecord' erfordert einen Primärschlüssel definiert werden.
Dann habe ich versucht, indem Sie die [Key]
Anmerkung zum UserId
Feld wie folgt aus:
public class LoginRecord
{
public User User { get; set; }
[Key]
public int UserId { get; set; }
public DateTime LastLogin { get; set; }
public int LoginCount { get; set; }
}
aber jetzt schafft EF eine neue Spalte namens UserId1
die den Fremdschlüssel wird.
Ich brauche die UserId
als nur einen Referenzschlüssel und benötigen keinen Primärschlüssel für diese Tabelle.
Ist es möglich? Wenn ja, bitte helfen!
EF muss einen Primärschlüssel für jede Tabelle ** ** - und Sie dies tun ... –
Sie können versuchen, zu verwenden, zusammengesetzter Primärschlüssel Sagen Sie UserId + LastLogin + Count, aber ich bin mir nicht sicher, ob es funktioniert) – SergeyAn
einfach LoginRecordId als Primärschlüssel hinzufügen – Alexan