Entityframework 6.2.0 IQueryable.Count VS IQueryable.ToList (). Количество

Mohammed Suez спросил: 14 ноября 2017 в 05:42 в: entity-framework

Это очень странная проблема. Вкратце

var q = (some query).Count();

Дает мой номер и

var q = (some query).ToList().Count();

Дает мне совершенно другой номер .. .

с упоминанием, что (в некотором запросе) есть два включения (объединения)

есть ли вменяемое объяснение этого ???

РЕДАКТИРОВАТЬ: вот мой запрос

var q = db.membership_renewals.Include(i => i.member).Include(i => i.sport).Where(w => w.isDeleted == false).Count();

это дает мне неправильный номер

и это:

var q = db.membership_renewals.Include(i => i.member).Include(i => i.sport).Where(w => w.isDeleted == false).ToList().Count();

Дает мне точное число.

РЕДАКТИРОВАТЬ 2 Когда я писал свой запрос как запрос linq, он работал отлично ...

var q1 = (from d in db.membership_renewals where d.isDeleted == false join m in db.members on d.mr_memberId equals m.m_id join s in db.sports on d.mr_sportId equals s.s_id select d.mr_id).Count();

Я думаю, что проблема в том, что структура сущностей не выполняет соединения в исходном запросе, а вынуждает их выполнять в (ToList ()) ...

0 ответов