Tam eşleşme olmadan SQL'e LINQ nasıl bağlanabilirim? Mesela ben verilerle John Smith (2)
içeren bir tablo form
var demek ve masanın name
alanda Smith
bunu katılmak istiyorum. like
anahtar kelime bana kullanılabilir olması için görünmüyor buKullanım SQL'de LINQ içeriyor
var query =
from f in db.form
join n in db.name
on f.nameField like '%' + n.firstName + '%'
rağmen gibi bir şey.
Kodumda bazı garip uygulama hataları olup olmadığını bilmiyorum, ama bu bana bir hata verdi: 'Sadece istemci üzerinde değerlendirilebilecek argümanlar su String.Contains için pported ben ayrıntılı olarak bu 'yerine Contains'' arasında IndexOf' kullanarak çalışmak lazım method.' [burada] (http://stackoverflow.com/a/7574433/1080891) –
@CavynVonDeylen Hmm, görünüyor Linq'den SQL'e bir sınırlama olmak. string.Contains', diğer ORM'lerde standart mekanizmadır. –
@CavynVonDeylen, db.name.ToList() öğesinden n'den aşağıdaki 'nı yapmaya çalışabilirsiniz. (X => f.nameField.Contains (x.firstName))'. '.ToList()' yöntemi, varlık kümesini değerlendirir ve her şeyi veritabanından belleğe geçirir. Bunu yaparak, 'string.Contains()' yöntemini kullanabilirsiniz. Sadece farkında olun ve masanızdaki tüm nesneleri bir kerede değerlendirmeyin. –