Poco + SqlQuery с использованием Entity Framework 4.1 + Oracle SP с параметром вывода курсора ref - PullRequest
0 голосов
/ 18 января 2012

В настоящее время я испытываю Entity Framework 4.1 с VS2010, чтобы определить его соответствие нашим потребностям.В частности, я пытаюсь выяснить, есть ли простой способ загрузки сущностей из ссылок, возвращаемых хранимыми процедурами Oracle.

Этот вопрос , по-видимому, предполагает, что для этого с помощью функции импорта функций необходимо добавить кучу метаданных в файл .config (меньше идеального).

Есть лиcode-first (code-first как в ранее существовавшем БД, определенном с использованием POCO вместо модели) альтернатива этому пути, использующая переопределенный вызов, что-то вроде того, что обсуждается здесь ?До сих пор мне не удавалось изменить пример для работы с Oracle, поэтому мне интересно, если это тупик.

1 Ответ

1 голос
/ 18 января 2012

Джими,

На всякий случай, если мне неясно в моем блоге, описанные мною методы SqlQuery и ExecuteSqlCommand представляют собой «аварийные штриховки», которые обеспечивают низкоуровневый доступ к данным через то же соединение ADO.NET, поддерживаемое EF, но в обход всех O / RM отображения.

В настоящее время API Code First не позволяет определять импорт функций в модели, поэтому этот API низкого уровня является единственной опцией, если вам нужно вызывать хранимые процедуры в приложении Code First.

Однако, если вы используете метаданные XML для определения модели (например, с помощью Entity Designer, включенного в Visual Studio для создания файла EDMX), вы все равно сможете определить импорт функций в модели и использовать классы POCO и API-интерфейс DbContext EF 4.1 (вам нужно добавить шаблон DbContext из онлайн-галереи, используя опцию «Добавить элемент генерации кода» в конструкторе, как описано здесь: http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-model-amp-database-first-walkthrough.aspx).

В любом случае я не пробовал код, подобный тому, который был в моем сообщении в блоге с поставщиком Oracle, ни с помощью ref-курсоров.

Я задам этот вопрос некоторым контактам, и я надеюсь, что они смогут помочь вам больше.

...