我尝试使用SQLProvider访问MySql数据库。到目前为止,我有这段代码:
let [<Literal>] resolutionPath = @"../mysql/"
let [<Literal>] connectionString =
"Server=localhost;Database=mydb;User=root;Password=root"
type sql = SqlDataProvider<
ConnectionString = connectionString,
DatabaseVendor = Common.DatabaseProviderTypes.MYSQL,
ResolutionPath = resolutionPath,
IndividualsAmount = 1000,
UseOptionTypes = true >
let ctx = sql.GetDataContext ()
遇到麻烦后,我设法编译了这段代码,甚至连接到我的本地数据库。
不幸的是,ctx成员没有自动完成功能(F#将ctx视为对象类型)。当我做类似的事情时:
ctx.``some_table``
它不会编译。
尝试连接Sqlite或PostgreSQL数据库时遇到同样的问题。 我是在MacOS 10.12上,而且我使用的是最新的mono和SQLProvider版本(来自nuget)。有没有人在unix上有类似的问题?是否有任何其他类型的sql数据库提供程序(不仅适用于Windows)?我看到还有SqlDataConnection,它可以在macOS / linux和MySql上运行吗?
答案 0 :(得分:0)
响应很晚,我知道这并不完全适用于mysql,但请参见:F# Connect SQLProvider with Postgres。这可能是一个类似的问题。
在多次重启软件后,我设法使其在Visual Studio Code和Rider中运行。我基本上在probject内创建了一个lib文件夹,我复制了:
System.Runtime.CompilerServices.Unsafe.dll
System.Threading.Tasks.Extensions.dll
System.Memory.dll
Npgsql.dll