У меня есть таблица с записями в HTML и многие параметры фильтрации по свойствам. Пользователь может выбрать один, один или несколько. Я использую базу данных mongoDb и драйвер MongoDb в C#. Как я могу реализовать эту фильтрацию?Умножьте фильтрацию в MongoDB
Фильтр
public class ConsultantFiltersModel
{
public string RecruiterName { get; set; }
public int? RecruiterCode { get; set; }
public bool? WithouRecruiter { get; set; }
public string FutureWorkerName { get; set; }
public string PhoneNumber { get; set; }
}
я прохожу этот фильтр со стороны клиента, некоторые свойства Nullable
. Мне нужно фильтровать записи только с ненулевыми свойствами.
Я пытался реализовать его, как этот
public Consultant FilterRecords(ConsultantFiltersModel consultantFiltersModel)
{
return consultantsCollection
.AsQueryable()
.Where(recruiterNameFilter =>
string.IsNullOrEmpty(consultantFiltersModel.RecruiterName)
? true
: recruiterNameFilter.Recruiter.Value == consultantFiltersModel.RecruiterName)
.Where(recruiterCodeFilter =>
consultantFiltersModel.RecruiterCode.HasValue
? true
: recruiterCodeFilter.Recruiter.Key == consultantFiltersModel.RecruiterCode)
.Where(phoneNumberFilter =>
string.IsNullOrEmpty(consultantFiltersModel.PhoneNumber)
? true
: phoneNumberFilter.FutureWorker.Phone.Contains(consultantFiltersModel.PhoneNumber))
.Where(futureWorkerNameFilter =>
string.IsNullOrEmpty(consultantFiltersModel.FutureWorkerName)
? true
: futureWorkerNameFilter.FutureWorker.Name.Contains(consultantFiltersModel.FutureWorkerName))
.FirstOrDefault();
}
Но я получаю это исключение
Исключение типа 'System.Reflection.TargetException' произошло в
системе. Private.CoreLib.ni.dll, но не обрабатывался в коде пользователя
Дополнительная информация: Нестатический метод требует цели.
Возможно, это не поддерживается mongoDbDriver? Все советы?