gpt4 book ai didi

sql - F# 从 SQL Server 表同义词中选择

转载 作者:行者123 更新时间:2023-12-01 05:11:19 25 4
gpt4 key购买 nike

我的 SQL Server 数据库中有一个表的同义词。

我想从表中选择行,但是当我使用类型提供程序创建数据上下文时,我在创建的数据上下文中看不到同义词。

同义词是这样创建的:

CREATE SYNONYM [AnotherDatabase_dbo].[MyTable] FOR [AnotherDatabase].[dbo].[MyTable]

我创建这样的数据上下文:

type dbSchema = SqlDataConnection<"Data Source=MyServer\MyInstance;Initial Catalog=MyDatabase;Integrated Security=SSPI;">
let db = dbSchema.GetDataContext ()

如何从 F# 访问同义词?

最佳答案

与其说是解决方案,不如说是一种变通方法,但下面的代码允许您通过 F# 访问同义词。
这使用 FSharp.Data库,可通过 NuGet 或此处获得:http://fsharp.github.io/FSharp.Data/ .
注意:需要 SQL 2012 或更高版本。

open FSharp.Data

[<Literal>]
let connectionString = @"Data Source=MyServer\MyInstance;Initial Catalog=MyDatabase;Integrated Security=SSPI;"

[<Literal>]
let query = "select Id, Name from MyTable"

type OptionQuery = SqlCommandProvider<query, connectionString>
let cmd = new OptionQuery()

cmd.AsyncExecute()
|> Async.RunSynchronously
|> Seq.iter (fun row -> printfn "Found row: %d %s" row.Id row.Name)

System.Console.Write("Done")
System.Console.ReadKey()

关于sql - F# 从 SQL Server 表同义词中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24699817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com