计算存储过程的结果

时间:2013-06-17 12:48:08

标签: c# mysql sql entity-framework asp.net-mvc-4

目标

计算从存储过程返回的结果。

问题

我的ProductsController上有以下代码:

[HttpGet]
public ActionResult DailyOffers()
{
    var productsList = Products.BuildOffersList();
    ViewBag.Title = String.Format("Ofertas de hoje ({0:dd/MM/yyyy})", 
                                                   DateTime.Now);
    ViewBag.CategoryProductsQuantity = ??;
    ViewBag.CurrentCategory = "Daily-Offers";
    return View(productsList);
}

如您所见,此方法有一个构建器。此构建器返回存储过程结果。我想计算此过程返回的结果数。

我在想什么

也许这个?:

ViewBag.CategoryProductsQuantity = productsList.Count;

技术细节

我正在使用C#.NET + MySql + Entity Framework 5 + Razor Engine。

2 个答案:

答案 0 :(得分:3)

假设Products.BuildOffersList();实际上确实返回了一个List(而不是IEnumerable / IQueryable),那么你建议的应该没问题,也不会导致多次枚举。

 ViewBag.CategoryProductsQuantity = productsList.Count();

答案 1 :(得分:0)

  
    

在存储过程中使用参数“output”并在方法上创建参数“out”。

  
@ROWCOUNT INT OUTPUT

SELECT
FROM
WHERE

SET @ROWCOUNT = @@ROWCOUNT