簡體   English   中英

參數化的查詢無法識別EF5中的參數?

[英]The parameterized query is not recognizing parameter in EF5?

我正在嘗試使用Database.SqlQuery從EF5執行存儲過程。 但是第二參數在這里無法識別。

錯誤:“參數化查詢'(@custNum nvarchar(7),@ PrimaryDisc bigint,@ SecondaryDisc bigint)'期望未提供參數'@PrimaryDisc'。”

var results = _MiscContext.Database.SqlQuery<TempTechDisciplines>(
        "exec sp_getTechnicalDiscipline @CustNum, @PrimaryDisc, @SecondaryDisc", 
        new SqlParameter("custNum", CustomerNum), 
        new SqlParameter("PrimaryDisc",SqlDbType.BigInt, 0), 
        new SqlParameter("SecondaryDisc",SqlDbType.BigInt, 0))
        .ToList<TempTechDisciplines>();

這是什么問題?

本文適合我。

http://blogs.msdn.com/b/diego/archive/2012/01/10/how-to-execute-stored-procedures-sqlquery-in-the-dbcontext-api.aspx

var custNum = new SqlParameter {ParameterName = "CustNum", Value = CustomerNum};
var primaryDisc = new SqlParameter { ParameterName = "PrimaryDisc", Value = 0 };
var secondaryDisc = new SqlParameter { ParameterName = "SecondaryDisc", Value = 0 };

var results = _MiscContext.Database.SqlQuery<TempTechDisciplines>(
             "exec sp_getTechnicalDiscipline @CustNum, @PrimaryDisc,
              @SecondaryDisc",
              custNum,primaryDisc,secondaryDisc).ToList<TempTechDisciplines>();

如果參數值( CustomerNum )為null,則該參數將不會序列化,並且會發生此錯誤。

檢查並為您添加的每個參數添加默認值( '0' for CustomerNum ),並檢查CustomerNum <> 0如果需要)是否為IS NULL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM