Ne arayalım?

ARAMIZA KATILIN

BİZE ULAŞIN

Adres:

E-posta:

host/bin/bilisimlife.dll

iletisim@bilisimlife.net




 
Rserit
Developer
       
 1029  
 278

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;
}




Kod satırını yazın. Size daha detaylı mesaj bilgisi verecektir. View Details diyerek mesaj bilgisine bakın.

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.