VideoRentalService.DataFacade2.GetCustomersByText C# (CSharp) Method

GetCustomersByText() public method

public GetCustomersByText ( string searchtext ) : VideoRentalService.SCustomer[]
searchtext string
return VideoRentalService.SCustomer[]
        public override SCustomer[] GetCustomersByText(string searchtext)
        {
            List<SCustomer> scustomerlist = new List<SCustomer>();
            using (SakilaEntities dc = new SakilaEntities())
            {
                var model = from c in dc.customers
                            where c.first_name.Contains(searchtext) || c.last_name.Contains(searchtext)
                            orderby (c.first_name)
                            select c;
                List<customer> contactList = model.ToList<customer>();
                foreach  (customer cust in contactList)
                {
                    //high freq sql calls again and again to reconstruct object, terrible pattern
                    //this should increase the sql calls by a magnitude of 2 orders (in a production environment)
                    var mymodel = from c in dc.customers
                                where c.customer_id == cust.customer_id
                                select c;
                    List<customer> slowcustomerlist = mymodel.ToList<customer>();
                    customer locCust = slowcustomerlist[0];
                    SCustomer scustomer = new SCustomer();
                    scustomer = scustomer.Createcustomer(
                        locCust.customer_id,
                        locCust.store_id,
                        locCust.first_name,
                        locCust.last_name,
                        locCust.address_id,
                        locCust.active,
                        locCust.create_date,
                        locCust.last_update,
                        locCust.email);
                    scustomerlist.Add(scustomer);
                }
            }
            simulator.PerformanceSimulation();
            return scustomerlist.ToArray<SCustomer>();
        }