I needed to do a query where I have domain object and I wanted to filter it based on an IN criteria. For example get a list of customers and only filter on customer IDs are in another list. Here is an example of how to do this:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace selectIn { public class Customer { public Customer(int custNumber, string custName) { CustomerNumber = custNumber; CustomerName = custName; } public int CustomerNumber { get; set; } public string CustomerName { get; set; } } class Program { static void Main(string[] args) { Listcustomers = new List (); customers.Add(new Customer(1, "Mike")); customers.Add(new Customer(2, "Bob")); customers.Add(new Customer(3, "Frank")); customers.Add(new Customer(4, "Tony")); customers.Add(new Customer(5, "Alex")); // do a select customers where customer id is in {1,5,2} List searchIn = new List () {1, 5, 2}; // boom all in one line! var filteredList = customers.Where(customer => searchIn.Contains(customer.CustomerNumber)) .ToList(); } } }
No comments:
Post a Comment