Poco + SqlQuery с использованием Entity Framework 4.1 + Oracle SP с параметром вывода курсора ref

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

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

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


person Jimi    schedule 18.01.2012    source источник


Ответы (1)


Джими,

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

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

Однако если вы используете метаданные XML для определения модели (например, с помощью конструктора сущностей, включенного в 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.

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

person divega    schedule 18.01.2012
comment
Спасибо за ответ, дивега. В случае, если это неясно, основное внимание в моем вопросе уделяется тому, работает ли подход аварийного люка с поставщиком оракула. - person Jimi; 20.01.2012