Очевидно, что изменения в базе данных не будут отражать то, что находится в индексе все время.Кто-нибудь использует EF с Lucene и объединяет результаты поиска Lucene с результатами из того же поиска в EF?Я понимаю, что вы хотели бы получить только результаты из EF, которых нет в результатах Lucene.
Обновление:
Полагаю, лучший способ справиться с этимсначала выполнить поиск по индексу Lucene и получить список результатов, а затем выполнить поиск EF:
Псевдокод:
var result = (from ef in EntityFrameworkList
where !(from l in LuceneList
select l.documentId)
.Contains(ef.Id)
select ef);
LuceneList.AddRange(result);
Для тех, кто любит цепочки методов
var result = (EntityFrameworkList.Where(ef => !(LuceneList.Select(l => l.documentId))
.Contains(ef.Id)));