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.
Hanya terdapat dua lajur dalam jadual (model ditunjukkan di bawah), dan kunci utama dalam mysql ialah Id
. Dari mana datangnya ToDoId
dan bagaimana saya memaksanya untuk menjadi Id
?
Saya telah melihat semua kod sampel (dari sini) dan saya percaya saya telah mengemas kini segala-galanya untuk menambah jadual baharu saya dengan betul.
Ini model saya:
ToDo kelas awam { Id Panduan awam { dapatkan; rentetan awam ToDoName { dapatkan; public ICollection(); } }
Di sinilah saya mendapat ralat - dalam pertanyaan:
kelas awam ToDoRepository : IToDoRepository { peribadi baca sahaja DatabaseContext _context; ToDoRepository awam(DatabaseContext context) { _konteks = konteks; } // _context.ToDo berikut ditakrifkan sebagai: DbSet maya awamawam IQueryable _context.ToDo.AsQueryable(); // Ralat berlaku di sini... public IReadOnlyList Senarai => .ToList(); }
Mesej ralat:
MySqlConnector.MySqlException: Lajur 't.ToDoId' tidak diketahui dalam 'senarai medan'
Pastikan ia mudah, gunakan EFkonvensyen, dan namakan semula kunci utama anda kepada:
classNameID, jadi dalam kes anda:
Atau gunakan atribut Kunci seperti yang diterangkan di sini:
Cadangan mesra untuk menamakan kelas andaTodo