Хранимые процедуры Informix с проблемой Entity Framework - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь импортировать хранимую процедуру в объектную модель, используя первый подход к базе данных, и импорт завершается неудачно из-за следующего предупреждения. Я использую Visual Studio 2015 update3

Ошибка 6005: Функция 'ar_get_contact_name' имеет возвращаемый тип данных 'varchar', который в настоящее время не поддерживается для целевой версии Entity Framework. Функция была исключена.

Ошибка 6046: Невозможно сгенерировать функцию импорта, тип возврата функции хранилища 'ar_get_contact_name'. Функция будет проигнорирована, и импорт функции не будет сгенерирован.

Таблица и SP следующим образом

создать таблицу "entityframework" .ar_contact ( contact_code char (10) не нулевой первичный ключ, имя char (80) не ноль )

CREATE PROCEDURE 'entityframework'.ar_get_contact_name ( cont_code LIKE ar_contact.contact_code)

ВОЗВРАТ УАКСНАК (50); * * тысяча двадцать пять

DEFINE cont_name VARCHAR (255);

ВЫБРАТЬ ar_contact.name В cont_name ОТ ar_contact ГДЕ cont_code = contact_code;

RETURN cont_name;

КОНЕЦ ПРОЦЕДУРЫ

Есть ли обходной путь для этого?

1 Ответ

0 голосов
/ 17 сентября 2018

Поистине Informix пока не имеет хорошей истории с поддержкой Entity Framework (EF). Прямо сейчас, чтобы приложение .net могло использовать функциональность EF, ему нужно использовать соединение драйвера DB2 с Informix по протоколу DRDA. При использовании драйвера DB2 EF для соединения с базой данных Informix многие функции работают нормально (но не все). Некоторые функции различаются на уровне базы данных для DB2 и Informix. Возвращаемое значение процедур и функций магазина является одним из таких различий; очень вероятно, что вы можете столкнуться с этой разницей.

...