Most of the IQueryable methods, such as Where(), take Expression Trees. The lambda expressions you write in code are actually compiled to these. You can also build these up at runtime and the Expression class contains functions to help with this.
I'm not familiar with these methods, but here are a few pages on MSDN you may find useful: http://msdn.microsoft.com/en-us/library/bb882637.aspx (How to: Use Expression Trees to Build Dynamic Queries) http://msdn.microsoft.com/en-us/library/bb397951.aspx (Expression Trees) http://msdn.microsoft.com/en-us/library/system.linq.expressions.aspx (System.Linq.Expressions) Regards, Matt. On Aug 25, 11:37 am, Razwan Sarwar <[email protected]> wrote: > Hi > > I am fairly new to LINQ and now face a problem that i can not solve > alone, i need help. I have tried many things but not found a solution > yet. > > I have a webform with 2 dropdown lists and a text box. I am letting > the user build a where statement based on what they choose. > For example dropdownlist1: (dealername, dealernumber, location), > dropdownlist2(<,>,<=,>=,==), and textbox is a free text field. > > The where will be built as "DealerNumber <= 1001" > > Now my code, will it be possible to change the where part to > incorporate my controls? I am using "q = q.Where(c => c.DealerNumber > == strDealerNumber);" > can this be changed to: > > field = dropdownlist1; condition = dropdownlist2; filter = textbox; > q = q.where(field + " " + condition + " " + filter); > > CODE: > > using (PartsClassesDataContext db = new > PartsClassesDataContext()) > { > List<spSelectFromMasterPartsResult> lst = > db.spSelectFromMasterParts ().ToList(); > > var q = from c in lst > select c; > > q = q.Where(c => c.DealerNumber == strDealerNumber); > > return q.ToList(); > } > > Many thanks i appreciate all your help > > Raz --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "DbLinq" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/dblinq?hl=en -~----------~----~----~----~------~----~------~--~---
