如何执行ObjectQuery

问题描述 投票:0回答:1

Linq to Entities使用实现IQueryable的ObjectQuery。我通常使用IQueryable方法来过滤我的数据,但今天我需要创建一个特殊的LIKE语句。该框架一直在思考它的智能和“转义”我的通配符“%”与波形符,这使得我的特殊LIKE语句无效。因此,在挖掘之后,我发现ObjectQuery有一个Overfile,它允许你传递一个字符串和ObjectParameters。我已经完成了这个,但它没有像IQueryable那样执行。当我运行应用程序时,在此代码被命中后没有任何反应。没有错误,也没有数据库上的命中,所以我知道我创建的查询实际上并没有执行。

我该如何处理这只小狗?

public IQueryable<tbl_Path> GetPathsByWildCardSearch(string searchTerm)
{
    return this.ObjectContext.tbl_Path
        .Where("FullPath NOT LIKE @p0 and FullPath LIKE @p1", 
            new ObjectParameter("p0", string.Format("%{0}%{1}%", searchTerm, tbl_Path.PathSeperator)),
            new ObjectParameter("p1", string.Format("%{0}%", searchTerm)));
}
linq-to-entities sql-like tilde objectquery
1个回答
0
投票

;)终于看到它上面有一个Execute()方法。

© www.soinside.com 2019 - 2024. All rights reserved.