Como usar o LIKE do SQL com o LINQ to SQL?
Muitos desenvolvedores tem me questionado sobre o uso do Like do SQL no LINQ to SQL. A questão é que ele existe sim, basta vc usar o namespace using System.Data.Linq.SqlClient e o método SqlMethods. Veja um exemplo:
var q = from c in db.Customers
where SqlMethods.Like(c.CustomerID, txtFiltro.Text.Trim() + "%")
select c;
Se o usuário digitar a letra A no txtFiltro.Text.Trim(), o T-SQL gerado para este exemplo é:
SELECT [t0].[CustomerID], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Address], [t0].[City], [t0].[Region], [t0].[PostalCode], [t0].[Country], [t0].[Phone], [t0].[Fax]
FROM [dbo].[Customers] AS [t0]
WHERE [t0].[CustomerID] LIKE 'a%'
Ou seja, deixe que o framework gere o T-SQL, pois ele não irá errar.
Este exemplo está contido no CD de treinamento multimídia do LINQ to SQL, de minha autoria (www.renatohaddad.com/videos.aspx).
Bons estudos e aproveitem o LINQ