如何在数据库中仅显示 5 条最新记录 - ASP.NET MVC
本文关键字:新记录 最新 ASP MVC NET 数据库 显示 | 更新日期: 2023-09-27 18:36:51
所以我要做的是显示存储在数据库中的 5 条最新记录,以显示在"创建"视图中。该表存储在"_Recent"中,这是表的部分视图。该表出现在"创建"视图中,但是我怎样才能使仅显示5条最新记录而不是所有内容。
_Recent(部分视图)
<div class="col-md-6">
<div class="table-title">
<table class="table-fill">
<thead>
<tr>
<th>
@Html.DisplayNameFor(model => model.DisplayName)
</th>
<th>
@Html.DisplayNameFor(model => model.Date)
</th>
<th>
@Html.DisplayNameFor(model => model.Amount)
</th>
<th>
@Html.DisplayNameFor(model => model.TaxBonus)
</th>
<th>
@Html.DisplayNameFor(model => model.Comment)
</th>
</tr>
</thead>
</div>
@foreach (var item in Model)
{
<tbody class="table-hover">
<tr>
<td clas="text-left">
@Html.DisplayFor(modelItem => item.DisplayName)
</td>
<td class="text-left">
@Html.DisplayFor(modelItem => item.Date)
</td>
<td class="text-left">
@Html.DisplayFor(modelItem => item.Amount)
</td>
<td class="text-left">
@Html.DisplayFor(modelItem => item.TaxBonus)
</td>
<td class="text-left">
@Html.DisplayFor(modelItem => item.Comment)
</td>
</tr>
</tbody>
}
</table>
创建视图
<div class="table-title">
@Html.Partial("_Recent", Model);
</div>
创建控制器
public ActionResult Create()
{
return View(db.Donations.ToList());
}
慈善班
public class Charity
{
public int ID { get; set; }
public string DisplayName { get; set; }
public DateTime Date { get; set; }
public Double Amount { get; set; }
public Double TaxBonus { get; set; }
public String Comment { get; set; }
}
public class CharityDBContext : DbContext //controls information in database
{
public DbSet<Charity> Donations { get; set; } //creates a donation database
public Charity Highest { set; get; }
public CharityDBContext()
{
this.Highest = new Charity();
}
}
public ActionResult Create()
{
return View(db.Donations.OrderByDescending(x => x.Id).Take(5).ToList());
}
您也可以使用 OrderByDescending(x => x.Date)
.好的做法是具有创建记录和更新记录的日期(列和属性),以便您可以按这些字段进行排序。
正确的方法是:
- 按
- 所需字段对记录进行排序(按降序排序)
- 将结果限制为所需的记录(获取)
- 最后,从数据库(ToList)中具体化结果。
return View(db.Donations.OrderByDescending(d => d.ID).Take(5).ToList());
这使得查询在底层数据库引擎中执行,并且仅从数据库表中获取确切的记录数。
public ActionResult Create()
{
return View(db.Donations.OrderByDescending(o => o.ObjectID).Take(5).ToList());
}
请检查大写字母,我现在不在视觉工作室。
更新