Etiket arşivi: DbEntitiyValidationException

Validation failed for one or more entities. See ‘EntityValidationErrors’ property for more details hatası

“Validation failed for one or more entities. See ‘EntityValidationErrors’ property for more details” hatası aldığınız zaman aklınıza ilk gelen şey veritabanınızda null olmayan bir alana null bir değer vermiş olabilirsiniz veya  20 karakterlik bir string alanımız vardır buna 20 karakterden fazla bir kelime girmişsek bu hata ile karşılaşacağız.

Bu hatayı aldığımız zaman bize hangi alan ile ilgili durum olduğunu söylemeyecektir. Bu kısmını try-catch bloğunda catch(Exception ex) yerine catch(DbEntityValidationException ex) yazarak ulaşabiliriz.

catch (DbEntityValidationException ex)
{
    foreach (var errs in ex.EntityValidationErrors)
    {
        foreach (var err in errs.ValidationErrors)
        {
            var propName = err.PropertyName;
            var errMess = err.ErrorMessage;
        }
    }
}

err.PropertyName alanında hatanın hangi alandan dolayı oluştuğunu size söyleyecektir.