J'ai atterri dans une situation assez ridicule ici.Code EF premier Clé de référence comme clé primaire
Je suis en train de coder dans le noyau EF, le noyau ASP.NET, la communauté Visual Studio 2017.
J'ai un modèle qui ne dispose pas d'une clé primaire comme:
public class LoginRecord
{
public User User { get; set; }
public int UserId { get; set; }
public DateTime LastLogin { get; set; }
public int LoginCount { get; set; }
}
où User
est une table avec tous les champs comme le nom, e-mail, etc.
Quand je fais add-migration
, une erreur apparaît en disant:
Le type d'entité 'LoginRecord' nécessite la définition d'une clé primaire.
Alors j'ai essayé en ajoutant l'annotation [Key]
au champ UserId
comme ceci:
public class LoginRecord
{
public User User { get; set; }
[Key]
public int UserId { get; set; }
public DateTime LastLogin { get; set; }
public int LoginCount { get; set; }
}
mais maintenant, EF crée une nouvelle colonne appelée UserId1
qui devient la clé étrangère.
J'ai besoin que le UserId
soit juste une clé de référence et n'a pas besoin d'une clé primaire pour cette table.
Est-ce possible? Si oui, aidez s'il vous plaît!
EF a besoin d'une clé primaire pour chaque table ** ** - et vous aussi ... –
Vous pouvez essayer d'utiliser clé primaire composée. Dites UserId + LastLogin + Count, mais je ne suis pas sûr que cela fonctionne) – SergeyAn
il suffit d'ajouter LoginRecordId comme clé primaire – Alexan