c# - ASP.NET MVC 实体框架查询搜索
问题描述
当数据库中有两列(Movie_title
和Release_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);
}
解决方案
尝试一下 :
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();
}
推荐阅读
- python - Tensorflow 2.0:从 CSV 文件加载数据
- javascript - 在 javascript 中添加和删除类的按钮
- cluster-computing - 在集群中使用用户的工作目录
- javascript - JavaScript:在一个虚拟机中进行所有评估
- azure - 如何在 Azure 应用服务 java11 tomcat 9 堆栈中配置 java ENV 变量
- arduino - 使用 arduino 在云服务器中进行室内定位
- python - 错误:不支持身份验证插件“caching_sha2_password”
- ethereum - 如何从合同中使用 app.compound.finance repayBehalf?
- spring-boot - 如何将 for 循环放入 JavaMailSender 的 html 字符串内容中?
- python - 网络驱动程序版本