Nello script #400 abbiamo visto che possiamo creare una chiave alternativa utilizzando il metodo HasAlternateKey in fase di configurazione. In quello script abbiamo visto che il metodo accetta una lambda che rappresenta le proprietà che fanno parte della chiave alternativa. Nel caso di una la chiave alternativa sia composta da una sola proprietà, la lambda ritorna la proprietà, mentre nel caso in cui la chiave alternativa contenga più proprietà dobbiamo ritornare un tipo anonimo contenente tutte le proprietà come mostrato nel seguente script
class MyContext : DbContext { public DbSet<Person> People { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<Person>() .HasAlternateKey(c => new { c.Name, c.BirthDate, c.City }); } } class Person{ public int Id { get; set; } public string Name { get; set; } public string BirthDate { get; set; } public string City { get; set; } public string Code { get; set; } }
In questo esempio, tramite convenzione la proprietà Id è la chiave primaria, e tramite codice le proprietà Name, BirthDate e City compongono la chiave alternativa.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Creare un webhook in Azure DevOps
Combinare Container Queries e Media Queries
Utilizzare WhenEach per processare i risultati di una lista di task
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Gestione dei nomi con le regole @layer in CSS
Utilizzare una qualunque lista per i parametri di tipo params in C#
Ottenere un token di accesso per una GitHub App
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Generare una User Delegation SAS in .NET per Azure Blob Storage
Ordine e importanza per @layer in CSS
Utilizzare l nesting nativo dei CSS