Использование Fsharp.Sql.DataClient через ссылочный проект в ядре asp.net
Я строю проект Asp.net Core (.NET Framework 4.6.2). Я добавил ссылочный проект F#, который использует FSharp.Sql.DataClient. Когда я вызываю код F# из основного проекта для извлечения данных из базы данных, я получаю эту ошибку:
Keyword not supported: 'name'
Это отлично работало в проектах до Asp.net Core, поэтому я предполагаю, что это может быть связано с тем, как строки подключения определены в файле appsettings.json в основном проекте, в отличие от файла конфигурации в предыдущих версиях, и в файл конфигурации в указанном проекте F#. Мой SQL-код определяется следующим образом:
type Select_AllTags =
SqlCommandProvider<
"
select * from article.article_Tag
", Admin.connectionName, ConfigFile = Admin.configFile
>
позже вызывается в коде так:
Select_AllTags.Create(Admin.connectionString).Execute()
Как я могу заставить это работать с Asp.net Core?
1 ответ
По какой-то причине мой исходный код работал в предыдущих приложениях DotNet Core, но теперь я должен вызывать фактическую строку соединения при вызове кода во время выполнения. Итак, вот обновленный код:
let connectionName = "ManagementDb"
let configFile = "web.config"
let runtimeConnectionString = Config.ConnectionStrings.ArticleManagementDb //Using FSharp.Configuration here to grab the connection string
type Select_AllTags =
SqlCommandProvider<
"
select * from article.article_Tag
", connectionName, ConfigFile = configFile
>
Select_AllTags.Create(runtimeConnectionString).Execute()