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
483

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 awam awam IQueryable _context.ToDo.AsQueryable(); // Ralat berlaku di sini... public IReadOnlyList Senarai => .ToList(); }

Mesej ralat:

MySqlConnector.MySqlException: Lajur 't.ToDoId' tidak diketahui dalam 'senarai medan'


P粉736935587
P粉736935587

membalas semua (1)
P粉610028841

Pastikan ia mudah, gunakan EFkonvensyen, 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 andaTodo

    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!