我是ASP.NET MVC的新手。我有的: -具有一个表的数据库,该表在以下各列中包含生产数据: 机器名称,好零件,坏零件,日期。
基于ASP.NEt MVC5的MS教程,我已经构建了一个简单的应用程序来显示数据库中的数据。
我想要什么: 我想按machine_name过滤结果,因为DB中的记录太多,并且浏览器在呈现结果时挂起。
控制器看起来像这样:
public ActionResult Index()
{
return View(db.DATABASE.ToList());
}
查看页面:
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.machine_name)
</th>
<th>
@Html.DisplayNameFor(model => model.date)
</th>
<th>
@Html.DisplayNameFor(model => model.good_parts)
</th>
<th>
@Html.DisplayNameFor(model => model.bad_parts)
</th>
</tr>
@foreach (var item in Model)
{
if (item.machine_name == "machine_1")
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.machine_name)
</td>
<td>
@Html.DisplayFor(modelItem => item.data)
</td>
<td>
@Html.DisplayFor(modelItem => item.good_parts)
</td>
<td>
@Html.DisplayFor(modelItem => item.bad_parts)
</td>
</tr>
}
}
实现if语句后,view不从数据库返回任何记录。 预先非常感谢您抽出宝贵的时间向我解释基本知识。
Marcin。
答案 0 :(得分:4)
就像
一样简单db.DATABASE.Where(x => x.MachineName == "something").ToList()
或
db.DATABASE.Take(100).ToList()
根据谓词过滤一系列值。
Enumerable.Take(IEnumerable, Int32) Method
QueryableExtensions.Take Method (IQueryable, Expression>)
从a的开头返回指定数量的连续元素 顺序
答案 1 :(得分:-2)
您可以尝试以下方法:
db.DATABASE.Where(item=>item.machine_name =="machine1").ToList();