Utilizzare le Data Annotation per descrivere il mapping tra la classe ed il database non è sempre la soluzione ideale specie se vogliamo mantenere le nostre classi di dominio ignoranti rispetto al motore di persistenza. In quest'ultimo caso, possiamo aggiungere codice alla classe DbContext per specificare il mapping senza intaccare le classi di business.
Per fare questo basta eseguire l'override del metodo OnModelCreating della classe DbContext e specificare il mapping. In questo caso ci assicuriamo che la proprietà Name della classe Person sia obbligatoria.
public partial class MyContext : DbContext { protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Person>().Property(c => c.Name).IsRequired(); base.OnModelCreating(modelBuilder); } ... }
Tramite il metodo Entity recuperiamo la classe da mappare, con il metodo Property recuperiamo la proprietà ed infine tramite il metodo IsRequired impostiamo l'obbligatorietà.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Il controllo XAML SwitchPresenter nella Universal Windows Platform
Utilizzare il metodo LogTo di Entity Framework Core 5 per semplificare il logging
Personalizzare gli elementi del controllo SwipeView in Xamarin Forms
Tracciare il body delle richieste fallite con Application Insights in .NET Core
Creare un componente Button in Blazor per operazioni asincrone
Gestione dei token negli input di testo con la Universal Windows Platform
Creare un web server locale con LiveReload
Mappare l'ereditarietà di una gerarchia di oggetti usando il TPT in Entity Framework Core 5
Utilizzare le JavaScript Resize Observer API per rispondere ai cambiamenti di dimensione di un oggetto HTML
Effettuare l'upload di un file da Blazor su Azure Blob Storage
Le novità di Entity Framework Core 5
Esecuzione condizionale dei task nelle pipeline YAML di Azure DevOps
I più letti di oggi
- Blazor Conference 2021 - Online
- Track 1: @dbochicchio e @cristiancivera con 'Blazor for absolute beginners'Track 2: @apomic80 con 'Dynamic UI with Blazor WebAssembly'Track 3: #aspilive Seguici live su => https://aspit.co/BlazorConf-21
- Track 1: @GiampaoloTUCCI con 'Progressive Web Apps with Blazor'Track 2: @dottor con 'Blazor Tips&Tricks'Track 3: #aspilive Seguici live su => https://aspit.co/BlazorConf-21
- Un datagrid con ordinamento con ASP