Поиск во всех столбцах таблицы, включая связанные таблицы
У меня есть таблица со многими полями, некоторые из них являются связанными таблицами, и мне нужно искать по всем полям, включая поля коллекций, мне удается создать метод, который позволяет мне искать по всем полям одного типа, но это не поиск по коллекции
public ActionResult global_search(string search = "")
{
List<report> info = new List<report>();
var property = search.GetType();
if (search != "")
{
List<report> all_info = db.reports.ToList();
var string_fields = typeof(report).GetProperties().Where(x => x.PropertyType == search.GetType());
var all_fields = typeof(report).GetProperties().ToList();
info = all_info.Where(x => string_fields.Any(g => ((g.GetValue(x, null) == null) ? "" : g.GetValue(x, null).ToString().ToLower()).Contains(search.ToLower()))).ToList();
}
return PartialView(info);
}
Я знаю, что проблема связана с var string_fields, потому что она ищет только тип того, что я ищу в этом случае String, поэтому мой вопрос Есть ли способ поиска по коллекциям и получения информации из связанной записи? потому что с текущим методом, если я буду искать "тест", я получу только те нативные поля таблицы, где найдено слово "тест", но мне нужно искать, если "тест" написано в коллекции комментариев записи, и добавить это к информационному результату