我有一个包含许多字段的表,其中一些是链接表,我需要搜索包括collections字段在内的所有字段,我设法制作了一种方法,使我可以搜索相同类型的所有字段,但是没有搜索集合
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有关,因为在这种情况下它只搜索我要搜索的类型的字符串,所以我的问题是否有办法从集合中进行搜索并从相关条目中获取信息?因为使用当前方法,如果我搜索“ test”,我将仅获得找到单词“ test”的表的本机字段,但是我需要搜索“ test”是否写在条目的注释集合中并添加它到信息结果