Entity Framework 4.0 не позволит мне использовать LINQ-to-Entities - PullRequest
2 голосов
/ 04 марта 2011

Может быть, я немного перегружен работой ... Я заблудился в проекте, где я использую EF4 для работы с БД.

Таким образом, он действительно хорошо работает для получения полного списка сущностей. Но когда я пытаюсь выполнить фильтрацию, я не понимаю ...

У меня есть следующий код, где у меня большие проблемы

public class InfoViewModel
{
    private TrackerEntities _context;

    public InfoViewModel (int ticketID)
    {
        var ct = new TrackerEntities();
        var res = from t in ct.Tickets
                  where t.TicketID    // VS2010 can't evaluate the property 'TicketID'
                  select t;
 }
}

Я не понимаю, почему t.TicketID выбрасывает мне волнистую красную линию с сообщением об ошибке «Не удается разрешить символ« TicketID »»

Символ объявлен в файле EDMX, с общедоступным геттером и сеттером ...

На самом деле, похоже, что в моем классе ничего не известно о существе.

Почему?

ТИА DeepCore

Ответы [ 2 ]

4 голосов
/ 04 марта 2011

1) вы должны сравнить TicketID объекта с желаемым соответствием, и (рекомендуется) вы должны заключить экземпляр контекста в оператор using (это IDisposable):

private TrackerEntities _context;

public InfoViewModel(int ticketID)<br> {<br> var ct = new TrackerEntities();<br> var res = from t in ct.Tickets<br> wheret.TicketID == ticketID
select t;<br> }

2) Попробуйте обновить модель; перейдите к конструктору EDM, щелкните правой кнопкой мыши поверхность и выберите «Обновить модель из базы данных», возможно, в схеме есть ошибка.

3) Убедитесь, что свойство TicketID имеет те же слова и регистр, что и в EDM.

4) Убедитесь, что TicketID равен int и , сравните его с другим целым числом, как в обновленном фрагменте выше.

0 голосов
/ 07 марта 2011

Doh ...

Я чувствую себя действительно глупо ... Я нашел свою ошибку!

Каким-то образом пропал следующий оператор использования: o (

using System.Linq

Я думаю, мне нужно попросить отпуск.

Спасибо всем за то, что вы уделили мне время!

DeepCore

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...