Отсутствует сопоставление типа объекта System.RuntimeType с собственным типом известного управляемого поставщика

У меня есть хранимая процедура с подписью

PROCEDURE [dbo].[spValidateID]
    @ScanCode       VARCHAR(50),
    @Name           VARCHAR(50) = NULL OUTPUT,
    @ScanTime       DATETIME = NULL OUTPUT,
    @ValidationCode INT = 0 OUTPUT

Предполагается, что это вернет validationCode, а также заполнит переменные name и scanTime. Мне нужно указать значение scanCode при вызове.

в моем коде C #я делаю так.

using (var context = new DBEntities())
{
    var pScanCode = new SqlParameter("ScanCode", scanCode);
    var opName = new SqlParameter("Name", name);
    var opScanTime = new SqlParameter("ScanTime", scanTime);
    var opValidationCode = new SqlParameter("ValidationCode", validationCode);

    var test = context.ExecuteStoreQuery<int>("spValidateID @ScanCode, @Name, @ScanTime, @ValidationCode", pScanCode, opName, opScanTime, opValidationCode);
}

но при запуске я получаю сообщение об ошибке Отсутствует сопоставление типа объекта System.RuntimeType с собственным типом известного управляемого поставщика.

Есть идеи??

11
задан Rajmond Burgaj 18 October 2017 в 17:43
поделиться