1
我有HTML格式的記錄和屬性的許多過濾選項的表。用戶可以選擇無,一個或多個。我在C#中使用mongoDb數據庫和MongoDb驅動程序。我如何才能實現這種過濾?在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?任何建議?