validation failed for one or more entities. see 'entityvalidationerrors' property for more details
بسم الله الرحمن الرحیم
همه ی ما با خطای زیر برخورد کرده ایم.
اگر یک Model داشته باشیم که تعداد فیلد های آن بسیار زیاد باشد، طبیعتا پیدا کردن فیلدی که باعث بروز این خطا شده است کار ساده ای نخواهد بود.
چطور می توان به سرعت اینگونه خطاها را بررسی و رفع کرد؟
بسم الله الرحمن الرحیم
همه ی ما با خطای زیر برخورد کرده ایم.
اگر یک Model داشته باشیم که تعداد فیلد های آن بسیار زیاد باشد، طبیعتا پیدا کردن فیلدی که باعث بروز این خطا شده است کار ساده ای نخواهد بود.
چطور می توان به سرعت اینگونه خطاها را بررسی و رفع کرد؟
آموزش Entity Framework
رفع خطای validation failed for one or more entities
اولین کاری که باید انجام شود پیدا کردن فیلد خطا و متن خطا می باشد طبیعتا پس از مشخص شدن خطا رفع آن کار چندان پیچیده ای نخواهد بود.
برای حل این مشکل کدهای خود را درون بدنه ی Try Catch قرار دهید و سپس Catch خود را به صورت زیر کد نویسی کنید.
catch (System.Data.Entity.Validation.DbEntityValidationException e)
{
foreach (var eve in e.EntityValidationErrors)
{
Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
eve.Entry.Entity.GetType().Name, eve.Entry.State);
foreach (var ve in eve.ValidationErrors)
{
Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
ve.PropertyName, ve.ErrorMessage);
}
}
throw;
}
لازم به ذکر است در این مثال متن خطا را در Console نمایش داده ایم اگر برنامه ی شما وب و یا ویندوزی باشد کافی است که آن را به صورت های دیگر مثلا Response.Write و یا MessageBox.show نمایش دهید.