LINQ to Entities does not recognize the method 'System.String ToString() Hatası
 

Entity Frameworkde çalışırken LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression  şeklinde bir hata alıyorsanız bu veritabanından verileri çekip SelectedListItem'ın tipinde bir nesneye yazdırılırken meydana gelebilmektedir.

Bildiğiniz gibi SelectedListItem'ın Text ve Value propertileri bulunmakta burada siz veritabanından entity framework ile kaydı çekerken Value alanına tabloda integer tipinde olan bir değer yazdırmak istiyorsunuz fakat SelectedListItem'da Value propertisi string değer bekleyecek şekilde tanımlanmıştır. Bu durumda sizin veritabanında çekeceğiniz integer tipindeki kaydı string e dönüştürmeniz gerekmektedir. C# daki ToString() metodu kullanılınca çevirmiyor hata veriyor bu durumda SqlFunction ın StringConvert metodunu kullanarak çevirebiliriz. StringConvert metoduda parametre olarak double parametreleri string e çevirmektedir.

İlk olarak integer kaydı double tipine çevirip daha sonra StringConvert metodu ile string tipine çevirirseniz işlemimiz çözülmüş olur.

Örnek:  SqlFunctions.StringConvert((double)Makale.Id));

Not: SqlFunctions' ıda kullanabilmek için kütüphanesini eklemeyi unutmayalım

 

 

Author: Engin ATALAY
Date: 17.05.2014 14:47:36
View Count: 2940
 
 

COMMENTS
 
No comments yet. Be the first to comment who you are.
 
 
 
 
 
 
 
WRITE COMMENT
 
 
Your Name :
 
 
 
E-mail :
 
 
 
Your Message :
 
 
 
 
 
 
 
This project : ASP.NET MVC , RAZOR, Entity Framework , CSS , HTML , JQUERY(2.0.2) , AJAX the C# side-tier architecture was developed with logic.
 
Yukarı Çık