entity.Context.Where(c => c.ID == Convert.ToDecimal(stringValue)).FirtOrDefault();

String tipindeki bir değere sorgu içerisinde decimal'e convert etmeye çalıştığımda aşağıdaki hatayı alıyorum. Bu işlemi sorunsuz nasıl halledebilirim?

Hata:

LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.

soruldu: 26 Ağu '12, 12:08

Dreamcatcher's gravatar image

Dreamcatcher
2106812
cevap kabul oranı: 22%

değiştirildi: 28 Ağu '12, 03:35

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Convert.ToDecimal methodu ile ilgili olduğunu düşünmüyorum ama, yine de şunu deneyebilir misiniz?

var decimalValue = Convert.ToDecimal(stringValue);
var result = entity.Context.Where(c => c.ID == decimalValue).FirtOrDefault();
permanent link

cevaplandı: 27 Ağu '12, 00:21

tilikoglu's gravatar image

tilikoglu
8602816
cevap kabul oranı: 18%

Teşekkürler şuanlık geçerli çözüm bu şekilde. Bende böyle yapıyorum ancak varmıdır acaba daha kolay yolu diye merak etmiştim.

(27 Ağu '12, 17:05) Dreamcatcher Dreamcatcher's gravatar image

Linq da ifadeler içerisinde malesef statik bir clr convertion metodu kullanamazsın. linq expressionlarını sql cümlesi gibi düşünebilirsin. Dolayısı ile senin vereceğin convertion işlemi database tarafından parse edilemeyecektir.

permanent link

cevaplandı: 26 Ağu '12, 22:55

ersintarhan's gravatar image

ersintarhan
10813
cevap kabul oranı: 33%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×238
×6

Soruldu: 26 Ağu '12, 12:08

Görüntüleme: 2,027 kez

Son güncelleme: 28 Ağu '12, 03:35

powered by BitNami OSQA