J'essaie de faire une demande où je peux gérer les clients. J'ai donc créé la base de données et la table Tecnici où je peux insérer tous mes techniciens.
Toutes les opérations de crud fonctionnaient jusqu'à ce que je crée la table Erreur dans le clientIcontroller me gaver la même erreur lorsque j'essaie de charger tous les clients FTOM Table Ceci est code pour clientIcontroller P> client code> pour insérer mes clients. J'ai effectué le contrôleur, le modèle et la visualisation de
client code>, et quand j'exécute l'application, cela me donne cette erreur
CLIENTI CODE> Errore dans Tecnicicontroller P>
public class AppDbContext: DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options): base (options)
{
}
public DbSet<Tecnico> tboTecnici { get; set; }
public DbSet<Cliente> tboClienti { get; set; }
}
4 Réponses :
Essayez de définir une clé primaire dans votre classe client.
[Key] public int Id { get; set; }
Mais mon identifiant est la clé principale incrément automatique b>. Je ne veux pas que l'utilisateur insère l'identifiant
L'utilisateur n'a pas d'influence sur la propriété ID, utilisez simplement l'ID ProP en tant que champ caché à votre vue.
Comme le texte d'exception indique que vous devez définir une clé primaire ou dire explicitement que ce tableau n'a pas de clé primaire.
Je vous suggère de faire une clé comme p>
[Touche] ID GUID PUBLIC {GET; SET;} Je ne devrais-je ajouter que dans le modèle Tecnici? Parce que quand je l'insère dans le modèle, il me gave la même erreur.
Vous devez ajouter le champ ID CODE> à la table DB actuelle, ainsi que le modèle qui le représente. Assurez-vous que les types correspondent (par ex. "GUID" dans le modèle "UnicalidInder" dans un DB SQL Server, si c'est ce que vous utilisez).
Vous devez spécifier que la colonne de cette façon une fois que vous enregistrez votre Entité to the Base de données, le ID code> est votre clé principale et spécifie également l'automation incrémentée par le serveur SQL
ID code> sera automatiquement rempli avec la nouvelle valeur générée p> p>
Si vous faites face à cette erreur et que l'attribut [Key] n'a pas résolu le problème.
Vous pouvez essayer d'inclure la fonction de commande de colonne. Cela résout EntityType d'aucune clé de définition de clé. P>
[Key] [Column(Order = 1)] public int Id { get; set; }
Vous n'avez pas de clé primaire définie pour votre entité. Utilisez-vous la première approche du code?
J'ai la clé primaire. Je viens de mettre à jour ma question avec la photo de mes tables i.Stack.imgur.com/kk2wd.png < / a>
Ouais, mais EF ne sait pas quelle propriété est votre clé principale. Vous devez le spécifier