Lors de l'utilisation d'EF Core pour interroger MySQL en C#, le nom de la colonne de clé primaire est incorrect
P粉736935587
P粉736935587 2023-08-17 13:45:14
0
1
584
<p>J'apprends à interroger une base de données Mysql en C#, mais j'obtiens une erreur indiquant qu'il y a une colonne non valide dans la liste des colonnes, mais je n'arrive pas à comprendre d'où vient ce nom de colonne (ToDoId) depuis. </p> <p>Il n'y a que deux colonnes dans le tableau (modèle présenté ci-dessous) et la clé primaire dans MySQL est <code>Id</code>. D'où vient ce <code>ToDoId</code> et comment puis-je le forcer à devenir <code>Id</code> ? </p> <p>J'ai regardé tous les exemples de code (à partir d'ici) et je pense avoir tout mis à jour pour ajouter correctement ma nouvelle table. </p> <p>Voici mon modèle :</p> <pre class="brush:php;toolbar:false;">classe publique ToDo { identifiant de guide public { get ; set } chaîne publique ToDoName { get; set } = null !; public ICollection<ToDo> publicToDo() { ToDos = nouveau HashSet<ToDo>(); } }</pré> <p>C'est ici que j'obtiens l'erreur - dans la requête : </p> <pre class="brush:php;toolbar:false;">classe publique ToDoRepository : IToDoRepository { privé en lecture seule DatabaseContext _context ; public ToDoRepository (contexte DatabaseContext) { _context = contexte ; } // Le _context.ToDo suivant est défini comme : public virtual DbSet<ToDo> public IQueryable<ToDo> Query => // L'erreur s'est produite ici... public IReadOnlyList<ToDo> .Lister(); }</pré> <p>Message d'erreur : </p> <blockquote> <p>MySqlConnector.MySqlException : colonne inconnue 't.ToDoId' dans la 'liste de champs'</p> </blockquote><p><br /></p>
P粉736935587
P粉736935587

répondre à tous(1)
P粉610028841

Restez simple, utilisez EF conventions et renommez votre clé primaire en :

classNameID, donc dans votre cas :

public Guid ToDoId { get; set; }

Ou utilisez l'attribut Key comme décrit ici :

[Key]
public Guid Id { get; set; }

Suggestion amicale de nommer votre classe Todo

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal