C # LINQ для Entity .Count - PullRequest
       31

C # LINQ для Entity .Count

1 голос
/ 13 марта 2012

Я новичок в Entity Framework.Я пытаюсь получить счетчик из запроса LINQ, который должен вернуть 1 результат.Счетчик всегда равен 0.Я знаю, что данные есть, и в edmx есть надежная связь.

Вот код:

LineItem li = order.LineItems.Where(i => i.ID == lineItemId).FirstOrDefault();
if (li != null)
{
    if (li.Notes.Count > 0)
    {
        // Get note data
    }
}

Теперь ListItem не равен нулю, поэтому я могу получить счетвызов.Опять же, я подтвердил, что у меня есть мои данные, поскольку мои отладочные сети соответствуют. Где совпадение как «52635 == 52635»

Есть ли что-то, что я здесь упускаю, чтобы получить мой счет?Или есть какие-либо предложения о том, как я могу отладить эту проблему дальше?

Я использую Entity Framework 4 +

Спасибо!

Ответы [ 3 ]

2 голосов
/ 13 марта 2012

Убедитесь, что вы Include заметки.

1 голос
/ 13 марта 2012

+ 1 на Включить заметки.Когда вы это сделаете, вы должны использовать более эффективный if(li.Notes.Any()) вместо if(li.Notes.Count() > 0).

Также вы можете обнаружить, что использование li.Notes.Count, которое является свойством типа коллекции, используемой Notes, выигралне работает так же, как li.Notes.Count(), который является методом расширения Linq.Я не уверен, не убедившись, что вам нужно включить.

0 голосов
/ 13 марта 2012

Я обнаружил, что это проблема удаленной записи в БД. Извините ребята! Спасибо за помощь, хотя !!

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