Как искать и сортировать по нескольким полям фильтра в ASP.Net core 2.0 MVC, используя базу данных mysql - PullRequest
0 голосов
/ 22 мая 2018

Как выполнять поиск по полям с несколькими фильтрами в ядре ASP.Net MVC.

Я хочу выполнить поиск данных в базе данных MySQL, а затем отфильтровать найденные данные с помощью нескольких фильтров в Windows Visual Studio 2017.

Класс модели

namespace i.model
{
public class CompanyRecords
{
    public int? id { get; set; }
    public int? user_id { get; set; }
    public string product_name { get; set; }
    public string Keywords { get; set; }
    public string category { get; set; }
    public string description { get; set; }
    public string modules { get; set; }
}
[enter image description here][1]}

Модель контекста

 public List<CompanyRecords> GetProducts(string data,string idd, SearchModel searchSch)
    {   using (MySqlConnection conn = GetConnection())
        {
            conn.Open();
            List<CompanyRecords> results = conn.Query<CompanyRecords>("SELECT * FROM product WHERE category LIKE '%" + data + "%' OR Keywords LIKE '%" + data + "%' OR product_name LIKE '%" + data + "%' OR description LIKE '%" + data + "%' OR modules LIKE '%" + data + "%'OR metatags LIKE '%" + data + "%'OR geographical_focus LIKE '%" + data + "%'").ToList();

            //if (idd == "Category")
              if (!string.IsNullOrEmpty(searchSch.category))
            {
                //List<CompanyRecords> result = conn.Query<CompanyRecords>("SELECT * FROM product WHERE category LIKE '%" + data + "%'").ToList();


               List<CompanyRecords> result = conn.Query<CompanyRecords>(results.Where(x=>x.category.Contains(searchSch.category))).ToList();

                return result;
            }
            else if (idd == "Keywords")
            {
                List<CompanyRecords> result = conn.Query<CompanyRecords>("SELECT * FROM product WHERE Keywords LIKE '%" + data + "%'").ToList();
                return result;
            }
            else if (idd == "Modules") {
                List<CompanyRecords> result = conn.Query<CompanyRecords>("SELECT * FROM product WHERE modules LIKE '%" + data + "%'").ToList();
                return result;
            }
            return results;         
            //List<CompanyRecords> results = conn.Query<CompanyRecords>("SELECT * FROM product WHERE category LIKE '%" + data + "%'OR description LIKE '%" + data + "%' OR modules LIKE '%" + data + "%'OR metatags LIKE '%" + data + "%'OR geographical_focus LIKE '%" + data + "%'OR target_job_titles LIKE '%" + data + "%'OR target_industry_type LIKE '%" + data + "%'OR desktop_web_both LIKE '%" + data + "%'OR dept_user_type LIKE '%" + data + "%'OR semantic LIKE '%" + data + "%'OR cognitive LIKE '%" + data + "%'OR target_campany_size LIKE '%" + data + "%'").ToList();
            //if (results != null)
            //{ return results; }
            //return results;
        }  
    }

Слушайте conn.Open ();Список результатов = conn.Query ("ВЫБЕРИТЕ * ИЗ ПРОДУКТА, ГДЕ КАТЕГОРИЯ НРАВИТСЯ"% "+ данные +"% 'ИЛИ КЛЮЧЕВЫЕ КЛЮЧИ "......). ToList (); дает правильный результат Теперь я хочу отфильтроватьПоиск данных, полученных в результате нескольких фильтров, таких как категории, ключевые слова модулей и т. Д. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...