【问题标题】:Change the path of localdb with EF Code First使用 EF Code First 更改 localdb 的路径
【发布时间】:2018-11-12 13:52:01
【问题描述】:

我正在将应用程序的设置更改为 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.

我不知道为什么这不起作用。有什么办法解决吗?

【问题讨论】:

    标签: ef-code-first clickonce localdb


    【解决方案1】:

    您可以通过 3 个步骤更改 localDB 的路径

    1. 分离数据库
    2. 将 localdb 数据库复制并粘贴到其他位置
    3. 将数据库附加到新位置

    查询分离数据库

    EXEC sp_detach_db 'aspnet-IdentityApplication-E2BBF1E6-123-4567-8910-07BC0413419B', 'true';   
    

    查询附加数据库

    CREATE DATABASE [aspnet-IdentityApplication-E2BBF1E6-123-4567-8910-07BC0413419B]  
        ON (FILENAME = 'D:\Test\aspnet-IdentityApplication-E2BBF1E6-123-4567-8910-07BC0413419B.mdf'),   
        (FILENAME = 'D:\Test\aspnet-IdentityApplication-E2BBF1E6-123-4567-8910-07BC0413419B_log.ldf')   
        FOR ATTACH;
    

    【讨论】:

      猜你喜欢
      • 2013-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-22
      • 1970-01-01
      • 2012-04-11
      相关资源
      最近更新 更多