首页 > 解决方案 > ASP.NET MVC 实体框架查询搜索

问题描述

当数据库中有两列(Movie_titleRelease_Date)时,如何从 SQL 数据库中的 Hulk 2003 等单个输入中搜索数据。

需要明确的是,该列Movie_title仅包含电影的名称,而该电影的发行日期就是该列Release_Date

我试过了

 public ActionResult Search(string search)
 {
     if (search == null)
     {
         return View("Index");
     }

     var Movie = db.Movies.Where(m => m.Movie_title .Contains(search) || 
                                      m.Release_date.Contains(search))
                          .ToList();

     return View(Movie);
}

标签: c#sqlasp.net-mvcentity

解决方案


尝试一下 :

    if (string.IsNullOrWhiteSpace(search))
        {
    return View("Index");
         }

            string digit = new String(search.Where(Char.IsDigit).ToArray());
            string letter = new String(search.Where(Char.IsLetter).ToArray());
var Movies = db.Movies.Where(m => m.Movie_title.Contains(letter) || m.Release_date.Contains(digit)).ToList();//if Release_Date type is string 



   //for datetime type(just for year)

var Movies = db.Movies.Where(m => m.Movie_title.Contains(letter) || m.Release_date.Year==digit).ToList();

 }

推荐阅读