Использование 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()
Другие вопросы по тегам