我正在开始构建一个ASP.NET MVC站点,我陷入了一个可能很简单的问题。我试图使用lambda表达式按日期过滤查询。我试图过滤的其他方法已经成功。这是我想要完成的。数据存储在具有date
数据类型的SQL Server 2008 R2数据库中。我不确定这是否是结果不会显示的原因。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Project.Models;
public class CreateController : Controller
{
// GET: Create
public ActionResult Create()
{
var dt = DateTime.Now.AddDays(-10);
var db = new Models.Entities();
var apps = db.tableName.Where(x => x.col1 == dt);
return View(apps.OrderBy(x => x.col2));
}
}
我的观点
@model IEnumerable<Project.Models.table1>
@{
ViewBag.Title = "Project";
}
@foreach (var apps in Model)
{
<table>
<tr>
<th>col z</th>
<th>col x</th>
<th>col y</th>
<th>col w</th>
</tr>
<tr>
<td>@apps.col1</td>
<td>@apps.col2</td>
<td>@apps.col3</td>
<td>@apps.col4</td>
</tr>
</table>
}
答案 0 :(得分:3)
//per lordkain:
var dt = DateTime.Now.Date.AddDays(-10);
//per Yuliam Chandra:
db.tableName.Where(x => x.col1 >= dt);
答案 1 :(得分:0)
在代码的外观中,c#数据类型是DateTime,数据库中的数据类型是Date。
您可能希望在创建函数时更改代码
var dt = DateTime.Today.AddDays(-10);
现在代码只是日期,没有时间!