Поиск во всех столбцах таблицы, включая связанные таблицы - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть таблица со многими полями, некоторые из них являются связанными таблицами, и мне нужно искать по всем полям, включая поля коллекций, мне удается создать метод, который позволяет мне искать все поля одного типа, но егоне ищет в коллекциях

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

Пример поля сбора

...