Я использую критерии классов для базы данных поиска в ado. net. Например, для поиска пользователей в БД я использую класс UserSearchCriteria для поиска с такими операндами, как «как», «между», «больше чем», «меньше чем» ... Например, поиск Имя пользователя содержит, DisableCount больше чем и Id точно соответствовать так далее.
В настоящее время вызов функции поиска:
var users = userManager.Search(new UserSearchCriteria() { Id = new
Dictionary<int,OperandTypeEnum>(1,OperandTypeEnum.ExactMatch),
Username = new Dictionary<string, OperandTypeEnum>("John Doe",OperandTypeEnum.Like),
DisableCount = new Dictionary<int, OperandTypeEnum>(5,OperandTypeEnum.GreaterThan)});
Вопрос в том, есть ли лучший вариант для поиска с операндами? Потому что упрощенная функция поиска звонков была бы лучше.
public enum OperandTypeEnum
{
ExactMatch=0, // default
Like,
GreaterThan,
LessThan,
Between
}
public class UserSearchCriteria
{
public Dictionary<int?,OperandTypeEnum> Id { get; set; }
public Dictionary<string, OperandTypeEnum> Username { get; set; }
public Dictionary<int, OperandTypeEnum> DisableCount { get; set; }
}