Linq to Entities使用实现IQueryable的ObjectQuery。我通常使用IQueryable方法来过滤数据,但今天我需要创建一个特殊的LIKE语句。框架一直认为它很聪明,并且使用波浪号来“转义”我的通配符"%“,这使得我的特殊LIKE语句无效。因此,在深入研究之后,我发现ObjectQuery对Where方法有一个重载,允许您将字符串与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)));
}发布于 2010-09-03 04:40:27
;)最后看到它有一个Execute()方法。
https://stackoverflow.com/questions/3630461
复制相似问题