2013-12-03 6 views
0

Я использую базу данных EF 5 Сначала в одном из моих проектов.Entity Framework 5 функции импорта

У меня есть stored procedure, где он возвращает данные в соответствии с некоторыми условиями. тип возврата будет таким же, если любое из этих условий в хранимой процедуре равно true.

, но если non of them is true, последнее заявление в хранимой процедуре - RETURN. В Entity Framework возвращаемый тип этой хранимой процедуры сопоставляется с complex type.

Если это произошло, я получаю следующее сообщение об ошибке. The data reader is incompatible with the specified 'Context.ComplexType'. A member of the type, 'Id', does not have a corresponding column in the data reader with the same name.

Как я могу решить эту проблему?

ответ

0

Вместо того, чтобы хранимая процедура провалиться к RETURN, вы можете вернуть пустой набор данных, когда условие ложно:

select * from dbo.Foos where 0 = 1

+0

спасибо за ответ. да, это решит проблему. Но нет ли лучшего способа сделать это? Я имею в виду, что это не проблема с хранимой процедурой. Это как-то связано с EF. – Amila

+0

Я так не думаю. Я думаю, что если вы пытаетесь сопоставить свою хранимую процедуру с сложным типом, вам всегда нужно вернуть набор данных. – Colin

Смежные вопросы