Sekiranya berlaku mesej ralat, "Satu atau lebih entiti gagal. Lihat atribut" Entiti ValidationError "untuk mengetahui lebih lanjut, anda boleh mengakses kumpulan ralat pengesahan.
periksa ralat pengesahan
try { // 代码 context.SaveChanges(); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("实体: \"{0}\", 状态: \"{1}\"", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach(var ve in eve.ValidationErrors) { Console.WriteLine("- 属性: \"{0}\", 错误: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; }
Penambahbaikan Lanjutan <高>
foreach(var ve in eve.ValidationErrors) { Console.WriteLine("- 属性: \"{0}\", 值: \"{1}\", 错误: \"{2}\"", ve.PropertyName, eve.Entry.CurrentValues.GetValue<object>(ve.PropertyName), ve.ErrorMessage); }
<含> keabnormalan tersuai yang mengandungi mesej terperinci:
Debug.Write("- 属性: \"{0}\", 值: \"{1}\", 错误: \"{2}\"", ve.PropertyName, eve.Entry.CurrentValues.GetValue<object>(ve.PropertyName), ve.ErrorMessage);
<写> ReWahing SaveChanges:
public class FormattedDbEntityValidationException : Exception { public override string Message => InnerException != null ? InnerException?.ToDetailedString() : ""; }
Atas ialah kandungan terperinci Bagaimana untuk mengendalikan dan debug Kesalahan Pengesahan Entiti dalam Rangka Kerja Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!