2013-01-09 22 views
6

Olası Çoğalt: Ne bu hatayı sahip
LINQ2SQL: Cannot convert IQueryable<> to IOrderedQueryable errorörtülü dönüştürülemez tipi 'System.Linq.IQueryable <>' 'System.Linq.IOrderedQueryable <>'

if (!String.IsNullOrEmpty(searchString)) 
{ 
    posts = posts.Where(post => post.Body == searchString); 
} 
: my kumandanın searchString ..

burada

benim kodları olduğunu

Bu kodları dizimdeki aramam için kullanıyorum. Burada yanlış bir şey mi bildirdim? Ben zaten googling denedim ama açık bir cevap bulamadı. Bana yardımcı olabilecek herkes için şimdiden teşekkür ederiz ..

+0

ne yazı olduğunu ve bunu nasıl kullanmak/beyan mı? – V4Vendetta

+1

Bu konuya benzeyen benzer: http://stackoverflow.com/questions/1732236/linq2sql-cannot-convert-iqueryable-to-iorderedqueryable-error Netatype mesajlar nedir? Nereden geldi? Herhangi bir yerde herhangi bir sıralama (orderby) yapıyor musunuz? – JLRishe

cevap

16

en olası nedeni, bir OrderBy olan bir sorguda posts için örtülü var deklarasyon kullanılan olmasıdır. Eğer

ile değiştirirseniz, hata gitmelidir.

+0

whoa .. Evet haklısın dostum .. Cevabınız benim için mükemmel çalışıyor. O çalışır .. Teşekkürler :) .. !! – bot

0

gönderiler IOrderedQueryable ve IQueeryable öğesinin döndürüleceği yer. Neden değişkeni açıkça bildirmiyor ve sorunu çözüp çözmediğini görmüyorsunuz.

5

posts değişkeniniz IOrderedQueryable<Post> türünde görünüyor ancak IQueryable<Post> numaralı telefonu atandınız. Bunu gidermek için, bu gibi sorgu IQueryable<Post> olmak veya sıralamak için değişken türünü değiştirmek için 2 yollarını görmek:

posts = posts.Where(post => post.Body == searchString) 
    .OrderBy(post => post.Date); 
İlgili konular