【发布时间】:2015-07-03 07:56:45
【问题描述】:
我有一个使用实体框架的 MVC 应用程序。我想将具有空值的参数传递给存储过程。在某些情况下,我想将 MerchantID 传递为 null。
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;
}
我的问题是当我通过 MerchantID=null 时,它给了我以下错误:
"参数化查询'(@GroupID [dbo].[tblTVPForCSVINT] READONLY,@MerchantID nvarchar(' 需要参数 '@MerchantID', 没有提供。”
如何为 MerchantID 传递空值?
【问题讨论】:
标签: c# asp.net-mvc entity-framework