3

我有一个画廊实体框架类,我正在尝试使用在 ScottGu 的博客上发布的动态 Linq 库来查询实体集。失败的代码行如下:

return context.Galleries.OrderBy(sidx + " " + sord).Skip(page * rows).Take(rows).ToList();

sidx=="名称" 和 sord=="desc"。

Gallery 对象确实有一个名为“Name”的属性。但是,执行时,我得到以下异常:

在当前范围或上下文中无法解析“标题”。确保所有引用的变量都在范围内,加载了所需的模式,并且正确引用了命名空间。在简单标识符附近,第 6 行,第 1 列。

有谁知道这意味着什么?

4

3 回答 3

8

“it”别名是问题所在,因此以下代码应该可以工作:

将您的过滤器字段名称标题作为 前缀it.Title

我在这里找到了答案.. http://challenge-me.ws/?tag=/Exceptions

于 2012-03-06T08:49:48.083 回答
2

使用:AsQueryable<>

return context.Galleries.AsQueryable().OrderBy(sidx + " " + sord).Skip(page * rows).Take(rows).ToList();

于 2011-09-21T16:13:18.557 回答
0

我找到了一个修复程序,但它没有解释原始问题。该查询位于库中,并从 asp.net mvc 应用程序中引用。它编译得很好,但在运行时被轰炸了。修复方法是将 dynamiclinq 类放在 mvc 应用程序本身中,从库中返回一个普通的 IQueryable,并在控制器本身中进行过滤。完全相同的代码在那里工作。不知何故,图书馆中的分离导致了这个问题。

于 2009-07-28T01:43:19.067 回答