SqlEntityConnection (модель данных объекта) TypeProvider

Я использую TypeProvider SqlEntityConnection (модель данных объекта) для подключения к базе данных SQL Server, в которой есть несколько таблиц и хранимых процедур.

#if INTERACTIVE
#r "System.Data"
#r "System.Data.Entity"
#r "FSharp.Data.TypeProviders"
#endif

open System.Data
open System.Data.Entity
open Microsoft.FSharp.Data.TypeProviders

// You can use Server Explorer to build your ConnectionString.
type internal SqlConnection = Microsoft.FSharp.Data.TypeProviders.SqlEntityConnection<ConnectionString = @"DataSource=server etc">
let internal db = SqlConnection.GetDataContext()

Согласно документации, предоставленной ссылкой в ​​файле шаблона - http://go.microsoft.com/fwlink/?LinkId=229210 "Получить контекст данных, который представляет собой объект, содержащий таблицы базы данных в качестве свойств и хранимые процедуры и функции базы данных в качестве методов". db должны иметь хранимые процедуры в базе данных в качестве методов. Однако я могу видеть только таблицы в базе данных как свойства db. Что мне не хватает?


person user2484161    schedule 27.07.2013    source источник
comment
Каков тип свойств?   -  person N_A    schedule 27.07.2013


Ответы (1)


Я думаю, что документация неверна. SqlEntityConnection TP использует инструмент edmgen.exe в бэкенде для фактического создания кода и тяжелой работы, и, насколько я могу судить, этот инструмент не поддерживает включение хранимых процедур как часть сгенерированных прокси-классов. Вот еще один SO-вопрос именно об этом, к сожалению, ответов нет.

Бег

edmgen.exe /mode:FullGeneration /connectionstring:"..." /language:CSharp /p:EdmTest

выводит различные файлы, только один из которых (файл .ssdl) содержит какую-либо информацию о хранимых процедурах, присутствующих в моей БД.

SqlDataConnection TP определенно поддерживает хранимые процедуры, если это возможная альтернатива для вас.

person latkin    schedule 27.07.2013