F# - 在连接字符串中使用数据目录的相对路径

F# - using relative path for a data catalog in a connection string

您好,我已将本地数据库附加到我的 visual studio 项目,但我无法将绝对路径设置为相对路径。

我有一个 .fs 文件位于

的项目
C:\USERS\SOME_USER\SOLUTION_FOLDER\DIRECTORY\FIRST_PROJECT\file.fs

在这个文件中,我试图在另一个项目中使用带有目录的本地数据库,因此生成的连接是

@"Data Source=(LocalDB)\v11.0; Initial Catalog=C:\USERS\SOME_USER\SOLUTION_FOLDER\DIRECTORY\OTHER_PROJECT\APP_DATA\LOCALDATABASE.MDF; Integrated Security=True; Connect Timeout=15; Encrypt=False; TrustServerCertificate=False"

这会产生奇迹

然后我尝试像这样创建目录的相对路径 "..\OTHER_PROJECT\APP_DATA\LOCALDATABASE.MDF" 但那行不通。

编译后的file.fs应该在C:\USERS\SOME_USER\SOLUTION_FOLDER\DIRECTORY\FIRST_PROJECT\BIN\DEBUG\ 这让我想到编译后的文件需要去 3 个目录,所以我也尝试过这个目录 "..\..\..\OTHER_PROJECT\APP_DATA\LOCALDATABASE.MDF" 这也行不通。

所以我有点不确定该怎么做。

哦,还有我在尝试相对路径时遇到的错误:

ERROR: Error reading schema. ERROR: Cannot open database.

- 乔丹

取自 docs:

Data Source=(LocalDB)\v11.0;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;InitialCatalog=DatabaseName …

字符串 |DataDirectory| 扩展到项目的 App_Data 文件夹(这是通过 ADO.NET SQL 服务器支持中的设置完成的,因此与语言无关).

你应该可以在 |DataDirectory| 之后使用 ..,否则你需要找到如何扩展它(我记得解决这个问题,但那是很久以前的事了) .