Nell'impostazione di DbContext
, abbiamo
modelBuilder.Entity<Person>(app =>
{
app.ToTable("Person");
});
L'EFCore genera un'eccezione:
Il tipo di entità "Persona" richiede una chiave primaria da definire
Ma la nostra tabella Person
non ha alcuna colonna chiave primaria.
Come evitare questo?
EF Core non supporta tabelle senza chiavi primarie (cioè heap). La ragione è semplice: deve essere in grado di manipolare record individuali, qualcosa che non può essere raggiunto in sicurezza senza una chiave primaria. Come risoluzione, è possibile aggiungere una colonna fittizia / chiave primaria di tipo int / identity o guid / uniqueidentifier e ignorarla.