使用动态Linq实体框架查询抛出的奇怪异常

时间:2009-07-24 22:27:49

标签: linq entity-framework dynamic-linq

我有一个gallery实体框架类,我正在尝试使用ScottGu博客上发布的Dynamic Linq Library来查询实体集。 失败的代码行读取:

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

sidx ==“姓名”,sord ==“desc”。

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

  

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

有谁知道这意味着什么?

3 个答案:

答案 0 :(得分:8)

“it”别名是问题所以以下代码应该有效:

将过滤器字段名称标题作为 it.Title

作为前缀

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

答案 1 :(得分:2)

使用:AsQueryable<>

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

答案 2 :(得分:0)

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