1

Я использую Entity Framework 6 с отображением хранимых процедур. У меня есть вставка sp с 6 параметрами для вставки. Объект, который я вставляю, имеет 8 свойств, в которых одно свойство является идентификатором.Хранимая процедура имеет много аргументов, определяемых структурой сущности

Проблема заключается в том, что я получаю эту ошибку:

Procedure or function sp has too many arguments specified

Причина, почему я не вставлю последнее свойство, потому что это будет иметь значение по умолчанию 0 (бит), а другая система будет меняться, что немного.

Когда я использую NotMapped как атрибут выше свойства, то sp успешно, но тогда я не могу запросить данные из системы.

Так что я могу игнорировать параметр?

ответ

1

Хорошо, вы говорите, что у вас есть хранимые процедуры с 6 параметрами для вставки и что объект, который вы вставляете, имеет 8 свойств, в которых одно свойство является идентификатором.

Так что вы получите 7 объектов, не так ли? но хранимая процедура имеет 6 параметров !, так ясно, что процедура или функция зр имеет слишком много аргументов указано

Ok может быть, вы могли бы посмотреть на этот http://hammadk.wordpress.com/2012/01/27/solved-procedure-xxx-has-too-many-arguments-specified-asp-net/

+0

Ну я на самом деле есть 7 свойства слева, но один это Id. Я думаю, что Microsoft игнорирует это свойство по умолчанию, потому что в моей таблице это «Key». Когда я удаляю собственность, все в порядке. Теперь я изменил sp, чтобы он нуждался в параметре, но не использовал его. Таким образом, это должно быть одно свойство. –

+0

@ SQL.NET Warrior, есть ли механизм игнорировать неожиданные параметры? –

+0

Но если значение по умолчанию равно 0, другая система изменит его, как вы сказали в своем исходном сообщении, почему бы просто не передать значение 0 (по умолчанию)? – StackTrace