In Entity Framework, there is no LIKE statement, but the PATINDEX function can be used. Consider the following domain:
// Base table entity public abstract class TableBase { [Key] public int id { get; set; } } // Customer entity public class Customer: TableBase { // customer fields public string Name { get; set; } public int? Type { get; set; } // contacts collection public virtual ICollection Contacts { get; set; } } // Contact entity public class Contact : TableBase { // contact fields public string FirstName { get; set; } public string LastName { get; set; } } // Customer View entity (not mapped) [NotMapped] public class CustomerView { // define customer public Customer Customer { get; set; } // define count of contacts public int ContactCount { get; set; } }
You can use the SqlFunctions.PatIndex function to filter by customers with a B in the name.
var customers = Customers .Where(c => SqlFunctions.PatIndex("%b%", c.Name) > 0) .ToList();