2010-08-18 26 views
6

Basit bir SQL deyim var. Linq to SQL "beğenmediniz" operatörü

SQL sözdizimine Linq bunu yazmak nasıl değer '% TEST%'

gibi değil tabloismi farklı değer seçin.

Aşağıdaki ifadeyi denedim ancak işe yaramıyor.

var p = (from c in tablename where !(c.value.ToUpper().Contains("%TEST%")) 
     select c.Value).Distinct().ToList() 
+0

kullanabilirsiniz. –

cevap

12

Sorun "%" dir - muhtemelen herşeyi içeren "% TEST%" kelimesini içermeyen şeyler arıyorsunuz. Demek istediniz: eşleşmek sql için bir kalıp ile sıkışmış olsaydı

var p = (from c in tablename 
     where !c.Value.ToUpper().Contains("TEST") 
     select c.Value).Distinct().ToList() 
+0

ninja'ed. -... nasıl bu kadar hızlı olabilirsin. – Femaref

+2

Otomatik Cevap ile C# ile yazılmış bir AI vardır. –

+0

Vay. Bu hızlı oldu. Teşekkürler .. Bir çekicilik gibi çalıştı. – mahesh

2

, lütfen İçeriyor% TESTİ% oranında kullanmaya gerek yok SqlMethods.Like

string pattern = "%TEST%"; 
    ... 
from c in tablename 
where !SqlMethods.Like(c.Value, pattern) 
select c