动态Linq不适用于Linq to Entities

时间:2011-07-26 11:23:31

标签: linq-to-entities dynamic-linq

我正在研究Linq To实体的小项目。需要根据用户设置的搜索条件/过滤器过滤数据。由于过滤器/搜索条件可以用于视图中显示的任何字段,因此我决定使用Dynamic Linq。

我从Scotgu's blog下载了这个库。在我的类中引用了System.Linq.Dynamic,我创建了一个示例类,它执行动态linq查询,如下所示,

AdventureWorksEntities adent = new AdventureWorksEntities();

var q = adent.
Contacts.OrderBy("FirstName").
Select("New(Title, FirstName, LastName)");

var l = q.ToList();

但是,在上面的代码块中,当执行查询时,我收到错误

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

我在这方面检查了不少帖子,但帮助很少......

关于如何解决上述错误的任何指示都会很棒......谢谢......

P.S。 DataContext上的类似查询工作正常......

1 个答案:

答案 0 :(得分:0)

使用此代码进行测试:

var q = adent.

Contacts.OrderBy( “it.FirstName”)。 选择(“新建(标题,名字,姓氏)”);