过滤 .ToList()

Filtering .ToList()

我是 ASP.NET MVC 的新手。我有的: - 有一个 table 的数据库,其中包含以下列中的生产数据: machine_name、good_parts、bad_parts、日期。

基于 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 语句后,视图不会 return 来自数据库的任何记录。 非常感谢您花时间向我解释基础知识。

马辛.

就像

一样简单
db.DATABASE.Where(x => x.MachineName == "something").ToList()

db.DATABASE.Take(100).ToList()

Enumerable.Where Method

Queryable.Where Method

Filters a sequence of values based on a predicate.

Enumerable.Take(IEnumerable, Int32) Method

QueryableExtensions.Take Method (IQueryable, Expression>)

Returns a specified number of contiguous elements from the start of a sequence

你可以试试这个:

db.DATABASE.Where(item=>item.machine_name =="machine1").ToList();