我正在将应用程序的设置更改为clickonce应用程序。
我使用的是SQL Server Express和EntityFramework的代码优先方法。
数据库的MDF存储在%USERPROFILE%/database.MDF。现在我必须将位置更改为%USERPROFILE%/AppData/Local/Apps/…
我尝试使用这个连接字符串
connectionString="data source=(LocalDb)MSSQLLocalDB;initial catalog=MIADbContext;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|database.mdf"
但是有了这个连接字符串,我得到了一个错误:
System.ArgumentException: Expansion of |DataDirectory| failed while processing the connection string. Ensure that |DataDirectory| is set to a valid fully-qualified path.
我不知道为什么这不起作用。有什么解决办法吗?
您可以通过3个步骤更改localDB的路径
- 分离数据库
- 将localdb数据库复制并粘贴到其他位置
- 将数据库附加到新位置
查询以分离数据库
EXEC sp_detach_db 'aspnet-IdentityApplication-E2BBF1E6-123-4567-8910-07BC0413419B', 'true';
查询以附加DB
CREATE DATABASE [aspnet-IdentityApplication-E2BBF1E6-123-4567-8910-07BC0413419B]
ON (FILENAME = 'D:Testaspnet-IdentityApplication-E2BBF1E6-123-4567-8910-07BC0413419B.mdf'),
(FILENAME = 'D:Testaspnet-IdentityApplication-E2BBF1E6-123-4567-8910-07BC0413419B_log.ldf')
FOR ATTACH;