Ошибка при вызове SQL SP через LINQ - PullRequest
0 голосов
/ 06 мая 2010

Проблема новичка: у меня 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);
     }

}

1 Ответ

0 голосов
/ 06 мая 2010
using (DataClassesDataContext vDataCont = new DataClassesDataContext())
    {
        int? vNewCaseNr;
        int? 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, ref vNewReqNr);
     }
...