ski*_*skd 7 c# asp.net-mvc entity-framework
我正在使用mvc应用程序与entityframework.我想将null值参数传递给存储过程.我想将MerchantID传递为null,有时MerchantID也有值.
GetValues(int[] TicketID,int? MerchantID,bool IsOpen)
{
//TicketID has values 1123,1122 etc
//MerchantID sometimes null
//IsOpen true/false
DataTable tbldepartmentid = new DataTable("Departmentid");
tbldepartmentid.Columns.Add("VALUE", typeof(int));
foreach (var id in TicketID)
tbldepartmentid.Rows.Add(id);
List<GetTroubleTicketDetails_Result> GetTroubleTicketDetails = _getTroubleTicketDetails_Result.ExecuteCustomStoredProc("Tickets.GetDetails", " @GroupID,@MerchantID,@Open",
new SqlParameter("GroupID", SqlDbType.Structured) { Value = tbldepartmentid, TypeName = "dbo.tblTVPForCSVINT" }
, new SqlParameter("MerchantID", MerchantID)
, new SqlParameter("Open", IsOpen)).ToList();
return GetTroubleTicketDetails;
Run Code Online (Sandbox Code Playgroud)
}
我的问题是当我通过MerchantID = null然后它给我以下错误
"参数化查询'(@ GroupID [dbo].[tblTVPForCSVINT] READONLY,@ MerchantID nvarchar('期望参数'@MerchantID',未提供."
如何为MerchantID传递空值?
Jur*_*eri 16
您需要传递SqlInt32.Null而不是null如下:
new SqlParameter("MerchantID", MerchantID ?? SqlInt32.Null)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7901 次 |
| 最近记录: |