Динамическое linqToEntity в c # - PullRequest
       24

Динамическое linqToEntity в c #

1 голос
/ 24 августа 2011

мой код:

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

ошибка:

«IdBook» не может быть разрешен в текущей области или контексте. Делать убедитесь, что все ссылочные переменные находятся в области видимости, что требуется схемы загружены, и что пространства имен ссылаются правильно. Почти простой идентификатор, строка 6, столбец 1.

Какой правильный код?

1 Ответ

2 голосов
/ 24 августа 2011

Linq не позволяет использовать строки в качестве выражения, если вы не используете библиотеку Dynamic Linq (в этом случае ошибка говорит о том, что IdBook не существует).Если вы не используете библиотеку Dynamic Linq и у вас все еще есть метод Где, принимающий строку, это метод, ожидающий правильное выражение Entity SQL, поэтому попробуйте:

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