EntityValidationError SaveChanges() Hatası
Merhaba,
EntityValidationError hatası alan bir kimse için daha detaylı bilgi gerekmektedir. Birçok nedeni bulunuyor. Try-Catch bloğu kullanın ve catch kısmına:
catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
{
Exception raise = dbEx;
foreach (var validationErrors in dbEx.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
string message = string.Format("{0}:{1}",
validationErrors.Entry.Entity.ToString(),
validationError.ErrorMessage);
// raise a new exception nesting
// the current instance as InnerException
raise = new InvalidOperationException(message, raise);
}
}
throw raise;
}
Bende genellikle veritabanındaki sütunlardaki satır sayısından kaynaklanıyor. nvarchar(50) ise dosya adı daha uzun olabilir. Bunu arttırarak düzeltebiliyorum.
Çözüm 2:
Bu sorun size hatanın ne olduğunu, nereden kaynaklandığını tam olarak söylemiyor. Bunu anlamak için Catch bloğu içerisinde QuickWatch yapıp EntityValidationErrors'tan yararlanmak. Örn:
try
{
......
}
catch (Exception Ex)
{
}
Ex'e sağ tıklayıp QuickWatch'a tıklayın ya da CTRL+ALT+Q yapın. Üst kısımdaki arama yerine şunu yazın:
((System.Data.Entity.Validation.DbEntityValidationException)Ex).EntityValidationErrors
ya da şunu:
((System.Data.Entity.Validation.DbEntityValidationException)$exception).EntityValidationErrors
Size count döndürecektir. Bu count ise size problemi söyleyebilir.
Umarım siz de düzeltebilirsiniz.
Iyi çalışmalar,
Recep.
Mesaj 14.03.2016 01:34:57 tarihinde Rserit tarafından düzenlenmiştir.
Mesaj 19.10.2016 11:35:36 tarihinde Rserit taraf?ndan d?zenlenmi?tir.
								Developer.							 
								 
								 
									
