Would something like this linq query work for you.. ?
var matches = from m in db.Customers
where m.Name.Contains(key)
select m;
this should also work I edited my answer.
Contains
is mapped to LIKE '%@p0%' which is case insensitive
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…