Я пытаюсь найти способ, позволяющий пользователям выполнять поиск определенного текста или значения во всех частях домена.
Например, у меня есть эти упрощенные классы:
public class Person
{
public string FirstName {get; set;}
public string LastName {get; set;}
public string Password {get; set;} //just for this example it's a string
}
public class Company
{
public string CompanyName {get; set;}
public string PhoneNumber {get; set;}
}
public class Invoice
{
public decimal Revenue {get; set;}
public decimal TotalAmount {get; set;}
}
Я хочу иметь возможность регистрировать для каждого класса, какие поля пользователь может искать. Я не хочу, чтобы они могли искать в свойствах Пароль и Доход.Они могут ввести сумму или текст в поле, и он должен проверить все экземпляры этих классов, если текст найден.
Например, «51» может появиться как TotalAmount, когда это 51,99, но яможет также появиться как часть телефонного номера.
Итак, мой вопрос: как мне просмотреть все объекты и получить свойства, доступные для поиска с отражением?Или я создаю метод с выражением [], который возвращает свойства?
В результате я хочу использовать имена свойств, чтобы динамически создавать запрос NHibernate QueryOver для каждой конкретной сущности и возвращать найденные элементы в соответствии слицо.
Спасибо за любую помощь!