Джими,
На всякий случай, если мне неясно в моем блоге, описанные мною методы 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-курсоров.
Я задам этот вопрос некоторым контактам, и я надеюсь, что они смогут помочь вам больше.