Проблема новичка: у меня SQL SP с десятью параметрами (восемь входных, два выходных), но когда я пытаюсь вызвать его через LINQ из кода, я получаю следующее сообщение об ошибке:
"Наилучший перегруженный метод для DataClassesDataContext.ST_CR_CREATE_CASE_BASIS (строка, строка, строка, строка, System.DateTime ?, строка, строка, строка, ref int ?, ref int?) 'Имеет недопустимые аргументы".
Параметры с? кажется, не распознаются, но я сбит с толку: типы данных соответствуют типам SQL, количество параметров совпадают, другие параметры не демонстрируют такое же поведение. Кто-нибудь может сказать мне, что происходит? Заранее спасибо.
- SQL SP:
create procedure ST_CR_CREATE_CASE_BASIS
@p_Pers_No nvarchar (50),
@p_Subject nvarchar (255),
@p_RQ_XML nvarchar(max),
@p_RQ_XSL nvarchar(max),
@p_Date_Submit smalldatetime,
@p_User_ID_Submit nvarchar (255),
@p_RQ_Status nvarchar (50),
@p_User_ID_OnBehalf nvarchar (255),
@p_Case_Number int output,
@p_RQ_ID int output
as
begin
-- ... etc.; the SP works fine when called from SSMS
Proc-code proc со страницы aspx выглядит так:
protected void cmdSubmit_Click(object sender, EventArgs e)
{
using (DataClassesDataContext vDataCont = new DataClassesDataContext())
{
Int32 vNewCaseNr;
Int32 vNewReqNr;
DateTime vNow = System.DateTime.Now;
vDataCont.ST_CR_CREATE_CASE_BASIS("101", "Test Subject Late Wed", null, null, vNow , "101", "1", "101", ref vNewCaseNr, vNewReqNr);
}
}