Apabila menggunakan EF Core untuk menanyakan MySQL dalam C#, nama lajur kunci utama adalah tidak betul
P粉736935587
P粉736935587 2023-08-17 13:45:14
0
1
616
<p>Saya sedang belajar bagaimana untuk menanyakan pangkalan data Mysql dalam C#, tetapi saya mendapat ralat mengatakan terdapat lajur tidak sah dalam senarai lajur, tetapi saya tidak dapat mengetahui di mana nama lajur itu (ToDoId) datang daripada. </p> <p>Hanya terdapat dua lajur dalam jadual (model ditunjukkan di bawah), dan kunci utama dalam mysql ialah <code>Id</code>. Dari mana datangnya <code>ToDoId</code> dan bagaimana saya memaksanya untuk menjadi <code>Id</code>? </p> <p>Saya telah melihat semua kod sampel (dari sini) dan saya percaya saya telah mengemas kini segala-galanya untuk menambah jadual baharu saya dengan betul. </p> <p>Ini model saya:</p> <pre class="brush:php;toolbar:false;">ToDo kelas awam { Id Panduan awam { dapatkan; rentetan awam ToDoName { dapatkan; public ICollection<ToDos { dapatkan; publicToDo() { ToDos = HashSet baharu<ToDo>(); } }</pre> <p>Di sinilah saya mendapat ralat - dalam pertanyaan: </p> <pre class="brush:php;toolbar:false;">kelas awam ToDoRepository : IToDoRepository { peribadi baca sahaja DatabaseContext _context; ToDoRepository awam(DatabaseContext context) { _konteks = konteks; } // _context.ToDo berikut ditakrifkan sebagai: DbSet maya awam<ToDo> awam IQueryable<ToDo> _context.ToDo.AsQueryable(); // Ralat berlaku di sini... public IReadOnlyList<ToDo> Senarai => .ToList(); }</pre> <p>Mesej ralat: </p> <blockquote> <p>MySqlConnector.MySqlException: Lajur 't.ToDoId' tidak diketahui dalam 'senarai medan'</p> </blockquote><p><br /></p>
P粉736935587
P粉736935587

membalas semua(1)
P粉610028841

Pastikan ia mudah, gunakan EF konvensyen, dan namakan semula kunci utama anda kepada:

classNameID, jadi dalam kes anda:

public Guid ToDoId { get; set; }

Atau gunakan atribut Kunci seperti yang diterangkan di sini:

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

Cadangan mesra untuk menamakan kelas anda Todo

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan