在LinQ中搜索一个数字

时间:2017-04-08 11:01:31

标签: c# asp.net-mvc linq

public JsonResult SearchProduct(int page, int pageSize, string key)
        {
            using (context = new ACETeaEntities())
            {
                var lstCatalog = context.Drinks.Select(x => new { x.Id_drinks, x.Vie_name, x.Eng_name, x.Id_category, x.Cool, x.Numberoforder, x.Price }).Where(x => x.Id_drinks.Contains(key) || x.Vie_name.Contains(key) || x.Eng_name.Contains(key) || x.Id_category.Contains(key) || x.Numberoforder.ToString() == key || (x.Cool == true ? "Có Lạnh" : "").Contains(key)).ToList();
                var data = lstCatalog.Skip((page - 1) * pageSize).Take(pageSize);
                int totalRow = lstCatalog.Count();
                return Json(new
                {
                    data = data,
                    total = totalRow,
                    status = true
                }, JsonRequestBehavior.AllowGet);
            }
        }

我有如上所述的搜查令。但我找不到关键字的编号。 它将选择包含数字“key”的所有数字。而且我也无法转换成字符串来使用Contains(键)。

错误: System.NotSupportedException:'LINQ to Entities无法识别方法'System.String ToString()'方法,并且此方法无法转换为商店表达式。'

Numberoforder:订单数量(int);

酷:(布尔) 请帮我。谢谢!

0 个答案:

没有答案