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

Entity Frameworkde çalisirken LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression  seklinde bir hata aliyorsaniz bu veritabanindan verileri çekip SelectedListItem'in tipinde bir nesneye yazdirilirken meydana gelebilmektedir.

Bildiginiz gibi SelectedListItem'in Text ve Value propertileri bulunmakta burada siz veritabanindan entity framework ile kaydi çekerken Value alanina tabloda integer tipinde olan bir deger yazdirmak istiyorsunuz fakat SelectedListItem'da Value propertisi string deger bekleyecek sekilde tanimlanmistir. Bu durumda sizin veritabaninda çekeceginiz integer tipindeki kaydi string e dönüstürmeniz gerekmektedir. C# daki ToString() metodu kullanilinca çevirmiyor hata veriyor bu durumda SqlFunction in StringConvert metodunu kullanarak çevirebiliriz. StringConvert metoduda parametre olarak double parametreleri string e çevirmektedir.

Ilk olarak integer kaydi double tipine çevirip daha sonra StringConvert metodu ile string tipine çevirirseniz islemimiz çözülmüs olur.

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

Not: SqlFunctions' ida kullanabilmek için kütüphanesini eklemeyi unutmayalim

 

 

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

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