Quando invochiamo il metodo SaveChangesdella classe DbContext, Entity Framework persiste sul database le entity che sono in stato di Added e Modified ed elimina dal database quelle in stato Deleted. Tuttavia, prima di effettuare la persistenza Entity Framework verifica che le entity rispettino i parametri di validazione espressi o tramite le data annotation sulle proprietà o tramite l'implementazione dell'interfaccia IValidatableObject.
Oltre a lasciar eseguire questa validazione a Entity Framework nel metodo SaveChanges, possiamo anche effettuare la validazione manualmente invocando il metodo GetValidationErrors della classe DbContext. Questo metodo ritorna una lista di oggetti DbEntityValidationResult che sono raggruppati per tipologia di entity e che per ogni gruppo espongono la lista di errori che sono recuperabili con il seguente codice.
foreach (var validationResults in Context.GetValidationErrors())
{
Console.WriteLine(String.Format("Entity: {0}",
validationResults.Entry.Entity.GetType().FullName));
foreach (var error in validationResults.ValidationErrors)
{
Console.WriteLine(String.Format("Property: {0}, Error {1}",
error.PropertyName, error.ErrorMessage));
}
}Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Personalizzare i parametri del CSS Scroll Snap
Creare un extension method per applicare condizionalmente una Where in una query LINQ per Entity Framework
Utilizzare zizmor per rendere più sicuri i workflow di GitHub
Evitare la compressione degli artefatti in un workflow di GitHub
Eseguire i pre-commit hook di git con dependabot
Gestione delle scrollbar dinamiche in HTML e CSS
Integrare Agenti A2A in Azure API Management
Blue/Green Release in locale con .NET Aspire
Ottimizzare la content-visibility in CSS specificando lo spazio da occupato dall'area non renderizzata
Abilitare il rolling update su Azure Functions flex consumption
Creare una file based app con C#
Analizzare il contenuto di una issue con GitHub Models e AI


