Using the following example i would like to use my Expression inside my Contains method, having it pass the query onto sql server using the EF.
Isn't the items parameter an IQueryable? If so, try this:
public static IQueryable FilterByCompany(this IQueryable items, Expression> resolveCompanyExpression)
where T : EntityBase
{
IQueryable validComps = GetCompaniesFromDataBase();
var exp = Expression.Lambda>(
Expression.Call(
typeof(Queryable),
"Contains",
new[] { typeof(Company) },
Expression.Constant(validComps),
resolveCompanyExpression.Body
),
resolveCompanyExpression.Parameters[0]
);
return items.Where(exp);
}