I have a method where by I’m able to search in a database for a specific customer(s). At the moment it only takes 1 term, but i’d like to be able to search with multiple terms (for example the customer’s account number and their name). Below is my method:
public List<AXCustomer> allCustomers(string id)
{
string[] searchstring = id.Split(' ');
List<AXCustomer> customer = new List<AXCustomer>();
// if 3 terms are entered
if (searchstring.Length > 2)
{
}
// if 2 terms are entered
else if (searchstring.Length > 1)
{
}
// revert back to default search
else
{
customer = context.AXCustomers.Where(x => x.ACCOUNTNUM.Contains(id) ||
x.NAME.Contains(id) || x.ZIPCODE.Contains(id)).ToList();
}
return customer;
}
As you can see, i’ve decided to split each term entered (I assume each term will be seperated by a space) but I’m not sure how my LINQ query should be for terms longer than one. Any help would be appreciated
Since you don’t know what will be entered or how long it will be, I would suggest doing the following: