我有这种观点方法 -
public ActionResult Index()
{
var db = new ApplicationDbContext();
var auctions = db.Auctions.ToArray();
return View(auctions);
}
正确返回数据库中所有拍卖的数组。但我想回归最受欢迎的那些。我想做这样的事情:
public ActionResult Index()
{
var db = new ApplicationDbContext();
var auctions = db.Auctions.getMostPopular.ToArray();
return View(auctions);
}
其中getMostPopular()是我的模型中包含我所有拍卖的方法,目前看起来像是这样:
public static List<Auction> getMostPopular()
{
var query = "SELECT* FROM AUCTIONS WHERE EndTime > CONVERT(date, GETDATE()) ORDER BY viewCount DESC;" }
}
那我该如何正确编写这个getMostPopular()方法呢? 这是在模型中编写它的正确途径吗?或者我应该在控制器索引操作中编写查询,如果是,那会是什么样的?
答案 0 :(得分:0)
正确是相对的。您提出的SQL语句似乎可以解决问题。通过ViewCount desc对结果进行排序似乎是实现方法最主要的部分。如果您已经在考虑使用日期过滤器,那么您也可以考虑使用顶级子句,例如按ViewCount desc从表顺序中选择前10 *,以仅考虑固定数量的最受欢迎项目。