У меня есть таблица со многими полями, некоторые из них являются связанными таблицами, и мне нужно искать по всем полям, включая поля коллекций, мне удается создать метод, который позволяет мне искать все поля одного типа, но егоне ищет в коллекциях
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, поэтому мой вопрос Есть ли способ поискаиз коллекций и получить информацию из записи, связанной?потому что с текущим методом, если я буду искать «тест», я получу только те нативные поля таблицы, где найдено слово «тест», но мне нужно искать, если «тест» записан в коллекции комментариев записи, и добавитьэто к информационному результату
Пример поля сбора