在C#中使用SqlQuery执行存储过程并限制结果

时间:2019-05-07 18:19:22

标签: c# sql-server asp.net-mvc linq stored-procedures

我不知道如何在我的代码中限制SqlQuery存储过程调用的结果。我尝试使用“选择top(10)”和“限制10”,但它只会引发错误。这是代码:

public ActionResult Index(string ProdID, string ProdDescription, string SiteID, string PackageID, string MFGID, string IncludeSubs)
    {
        var subsInt = 0;
        if (IncludeSubs == "on")
        {
            subsInt = 1;
        }
        var result = db.Database.SqlQuery<NELLA_WI_ReportInventoryStatus_SP_Result>("[NELLA_WI_ReportInventoryStatus_SP] @p1,@p2,@p3,@p4,@p5,@p6", 
            new SqlParameter("@p1",ProdID), 
            new SqlParameter("@p2",ProdDescription), 
            new SqlParameter("@p3",SiteID), 
            new SqlParameter("@p4",PackageID), 
            new SqlParameter("@p5",MFGID), 
            new SqlParameter("@p6",subsInt)).ToList();

        return View(result);
    }

如果我删除[]并在过程中执行选择或执行操作,则会收到有关参数无效的错误。我是否只需要将参数值编码到调用字符串中?似乎那是错误的。

任何帮助将不胜感激!

0 个答案:

没有答案