начал использовать MongoDB в моем базовом приложении. net с использованием MongoDB.Driver. Мне нужно было найти способ присоединиться к коллекциям и включить фильтры.
Обнаружение того, как присоединиться, это то, что я нашел -
var query = from c in collection1.AsQueryable()
join m in collection2.AsQueryable() on
c.ClassTwoId equals m.Id into j
select new { c, j };
Поиск того, что я нашел, - это фильтрация.
//filters
FilterDefinitionBuilder<PortalUser> builder = Builders<PortalUser>.Filter;
List<FilterDefinition<PortalUser>> filters = new List<FilterDefinition<PortalUser>>();
filters.Add(builder.Eq(PortalUser => PortalUser.IsActive, true));
var result = portalUserCollection.FindAsync<PortalUser>(builder.And(filters));
Не удалось найти способ объединить приведенные выше примеры ... Единственный способ, который я нашел, чтобы отфильтровать IQueryable, - добавить оператор where внутри IQueryable, но так как фильтры являются динамическими c и решил время выполнения, что означает, что мне придется делать много операций if / else и перестраивать IQueryable каждый раз, когда звучит глупо ...
Кто-нибудь знает, как обойти это?
Спасибо много.