c#中的动态linqToEntity

时间:2011-08-24 07:56:42

标签: entity-framework c#-4.0 linq-to-entities

我的代码:

public List<Book> GetBook()
{
    var q = this.Entities.Book.Where("IdBook>1").ToList();
    return (q);
}

错误:

  

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

什么是正确的代码?

1 个答案:

答案 0 :(得分:2)

除非您使用Dynamic Linq库,否则Linq不允许使用字符串作为表达式(在这种情况下,错误表明IdBook不存在)。如果您没有使用Dynamic Linq库并且仍然有Where扩展方法接受字符串,那么它是一个期望有效的Entity SQL表达式的方法,所以请尝试:

var q = this.Entities.Book.Where("it.IdBook > 1").ToList();