Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# 通过asp.net core中的引用项目使用Fsharp.Sql.DataClient_F#_Asp.net Core Mvc_Fsharp.data.sqlclient - Fatal编程技术网

F# 通过asp.net core中的引用项目使用Fsharp.Sql.DataClient

F# 通过asp.net core中的引用项目使用Fsharp.Sql.DataClient,f#,asp.net-core-mvc,fsharp.data.sqlclient,F#,Asp.net Core Mvc,Fsharp.data.sqlclient,我正在构建一个Asp.net核心.net Framework 4.6.2项目。我添加了一个使用FSharp.Sql.DataClient的引用F项目。当我从主项目调用F代码以从数据库检索数据时,出现以下错误: Keyword not supported: 'name' 这在Asp.net Core之前的项目中非常有效,因此我猜这可能与主项目的appsettings.json文件中如何定义连接字符串有关,而不是以前版本中的配置文件,以及在引用的F项目中的配置文件中。我的sql代码定义如下: ty

我正在构建一个Asp.net核心.net Framework 4.6.2项目。我添加了一个使用FSharp.Sql.DataClient的引用F项目。当我从主项目调用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实现此功能?

我的初始代码在以前的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()

你的问题缺少一些关键的东西,任何人都无法回答你。例如,您收到的错误消息提到了一个不受支持的关键字,该关键字在您发布的代码中没有出现。因为我们不知道你在哪里使用这个名字,所以到目前为止你发布的代码中肯定没有这个名字,我们无法帮助你解决这个问题。在任何人能够回答您的问题之前,我们需要查看您的更多代码。“name”是指配置文件中定义的连接字符串名称的关键字。因此Admin.connectionName是字符串name=DatabaseName,Admin.configFile是指配置文件(如web.config)名称的字符串。因此,当应用程序运行时,正如错误所述,我假设您不能再通过名称访问project.json文件中的连接字符串。