我用它做工精細以前相同的查詢。然後,我決定用符合查詢不支持過載,所以我不得不作出一些修改代碼。「用於查詢操作‘去哪兒’
現在,當我嘗試執行代碼,我收到錯誤消息「用於查詢運算符的不支持的重載'Where'。 我從「approvalHelper.GetWhereClauseForApprovalSimpleSearch();」生成的where子句已經過測試並且正常工作。
// Complied Query Class
public static class CompliedQuery
{
public static Func<GDataContext, Expression<Func<View_ApprovalSimple, bool>>, IQueryable<View_ApprovalSimple>> getApprovalSimple =
CompiledQuery.Compile<GDataContext, Expression<Func<View_ApprovalSimple, bool>>, IQueryable<View_ApprovalSimple>>(
(db, whereclause) => (from results in db.View_ApprovalSimples.AsExpandable().Where(whereclause)
select results));
}
// this is what is passed into the where clause; Body = {(vas.siteId = 1)}
//the Calling code
public static List<View_ApprovalSimple> GetApprovalSimple(ApprovalsSearchHelperClass _approvalHelper)
{
Expression<Func<View_ApprovalSimple, bool>> whrClause = approvalHelper.GetWhereClauseForApprovalSimpleSearch();
//whrclause; Body = {(vas.siteId = 1)}
try
{
using (GDataContext db = new GDataContext())
{
if (whrClause != null)
{
var varResults = CompliedQuery.getApprovalSimple(db, whrClause);
return varResults.ToList();
}
}
}
catch (Exception ex)
{
// code to handle error
}
finally
{
}
return null;
}
任何想法,我可能要實施什麼新的變化: 只是根據我的代碼所示
代碼不爲符合查詢部分工作?
在此先感謝。