Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string[] arrayOfQueryTerms = getsTheArray();
- var somequery = from q in dataContext.MyTable
- select q;
- if (arrayOfQueryTerms.Length == 1)
- {
- somequery = somequery.Where<MyTableEntity>(
- e => e.FieldName.StartsWith(arrayOfQueryTerms[0]));
- }
- else
- {
- foreach(string queryTerm in arrayOfQueryTerms)
- {
- if (!String.IsNullOrEmpty(queryTerm))
- {
- somequery = somequery
- .Where<MyTableEntity>(
- e => e.FieldName.Contains(queryTerm));
- }
- }
- }
- private IQueryable<T> getQuery(
- T MyTableEntity, string[] arrayOfQueryTerms, Func<T, bool> predicate)
- e => e.FieldName.Contains(queryTerm)
- var query = dataSource.Where("CategoryID == 2 && UnitPrice > 3")
- .OrderBy("SupplierID");
- IQueryable<T> getQuery<T>( T myTableEntity
- , string[] arrayOfQueryTerms
- , Expression<Func<T, bool>> predicate)
- { var fieldOrProperty = getMemberInfo(predicate);
- /* ... */
- }
- MemberInfo getmemberInfo<T>(Expression<Func<T,bool> expr)
- { var memberExpr = expr as MemberExpression;
- if (memberExpr != null) return memberExpr.Member;
- throw new ArgumentException();
- }
- var q = getQuery<FooTable>(foo, new[]{"Bar","Baz"}, x=>x.FieldName);
Add Comment
Please, Sign In to add comment