Entity Framework ile çalışma esnasında karşımıza çıkan ve bir o kadar da düşündüren bu hata ile ilgili çözüm önerilerini sunalım.
Bu sorun ile ilgili net bir çözüm yok çünkü biraz da genel bir sorun olduğu için çözüme dair birkaç düzeltmeye dikkat ederseniz sorunu çözmüş olacağınızı düşünüyorum.
Çözüm sorunun kendi içindeki anahtar kelime "Validation" ifadesinde yer alıyor. Bunu da klasik olarak formlarda uyguladığımız validasyon işlemleri ile eşdeğer olarak düşünebilirsiniz. Hatırlayalım form validasyon işlemlerindeki olayları.
- İsim giriniz.
- İsim en az 3 karakter olabilir.
- İsim en fazla 50 karakter olabilir.
- Geçerli bir mail adresi giriniz.
- Geçerli bir doğum tarihi giriniz.
şeklinde uzayıp giden bir uyarı listesi düşünebilirsiniz.
Aslında EntityValidationErrors için de buna benzer sebepler sayabiliriz.
EntityValidationErrors hata nedenleri ise şu şekilde olabilmektedir.
- Varchar(5) gibi bir alana 6 veya daha fazla karakter barındıran bir içerik girmiş olabilirsiniz.
- null değer kabul etmeyen bir alana null değer girmeye çalışıyor olabilirsiniz.
- Sayısal değer tipli sütunlar (int, bigint, smallint, tinyint vs..) için girilebilecek maksimum veya minimum değeri aşmış olabilirsiniz.
- Datetime tipindeki bir sütun için girilebilecek maksimum veya minumum tarihleri aşmış olabilirsiniz.
Açıkcası bugün çalışma esnasında karşılaştığım için bununla ilgili bir makale yayınlama gereği duydum.