【发布时间】:2014-08-18 17:24:22
【问题描述】:
我正在着手构建一个 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>
}
【问题讨论】:
-
样本数据是什么?可能你想要的是
db.tableName.Where(x => x.col1 >= dt); -
如果你只想要日期使用 x => x.col1.Date == dt.Date
-
很难从您输入的内容中猜出您期望的结果。你说你之前过滤成功了,但不说为什么现在不成功?固定输入的预期结果是什么?
标签: c# asp.net-mvc lambda sql-server-2008-r2