Entity Framework Datetime2 sorunu ve çözümü

02 Kasım 2015 1 dk okuma süresi 101 okunma

Genellikle son versiyon sql server ile uygulama geliştirip sunucu üzerinde daha önceki bir sql server versiyonu kullanmanız nedeniyle bu hatayı alırsınız. Özellikle benim gibi database first ile edmx dosyası oluşturuyorsanız (artık reverse engineering eklentisi ile code first kullanıyorum) bu hatayı almanız kaçınılmaz. Aldığınız hata da muhtemelen şu şekildedir.

"An error occurred while updating the entries. See the inner exception for details."

Yapmanız gereken şey çok basit. Edmx dosyanıza sağ tıklayıp notepad veya benzeri bir program ile düzenleyin. Xml içeriğinde ProviderManifestToken kısmını göreceksiniz. Kendimden örnek vermek gerekirse ben bu hatayı aldığımda sql server 2012 kullanıyordum ve sunucumda ise sql server 2008 sürümü vardı. Ve bendeki kısım şu şekildeydi.

ProviderManifestToken="2012"

Provider Manifest Token
Provider Manifest Token

Bunu aşağıdaki gibi değiştirin ve kaydedip edmx'i yeniden sunucuya yükleyin.

ProviderManifestToken="2005"
Yazılarıma abone olmak ister misiniz?
Spam yapılmaz, sadece bildirim amaçlıdır. İstediğiniz zaman abonelikten çıkabilirsiniz.
İlginizi çekebilecek diğer yazılar.
VS2015'in 3. update'ini yaptıktan sonra asp.net core web uygulaması yaratmak istediğimde şu şekilde bir hata ile karşılaştım. "Exception : The system cannot find the file specified. (Exception from HRESULT: 0x80070002)". Çözümü oldukça basit.

Entity framework code first kullanıyorsanız ve inheritance yapıp yeni bir class yarattığınızda bunun gibi bir hata alırsınız. Bunun nedeni fluent api'nin inheritance yapılan class ile ana class'ın map yapmaya çalışması ve ilgili kolonu veritabanında bulamamasıdır. Çözümü ise inherit olmuş class'a [NotMapped] DataAnnotations attribute'unu eklemek.

Asp.Net Mvc ile recursive nasıl yazılır, @helper veya HtmlHelper kullanarak recursive fonksiyon yazmak, Asp.Net MVC View recursive fonksiyon nasıl yazılır?