C# 如何告诉我的项目使用项目文件夹中的数据库

C# 如何告诉我的项目使用项目文件夹中的数据库,c#,entity-framework,C#,Entity Framework,我首先用ef代码创建了数据库。 我将ef创建的2个文件复制到项目文件夹中 DAL.UsersDb.mdf和DAL.UsersDb_log.ldf 现在我想告诉项目使用新位置。 我将它们添加到配置文件中,但它不起作用 <add name="UsersDb" connectionString="Data Source=(LocalDB)\v11.0; initial catalog=UsersDb; AttachDBFilename=|C:\Users\H

我首先用ef代码创建了数据库。 我将ef创建的2个文件复制到项目文件夹中 DAL.UsersDb.mdf和DAL.UsersDb_log.ldf

现在我想告诉项目使用新位置。 我将它们添加到配置文件中,但它不起作用

<add name="UsersDb"
   connectionString="Data Source=(LocalDB)\v11.0;
   initial catalog=UsersDb;
             AttachDBFilename=|C:\Users\HOME\Desktop\MyProject|\DAL.Funcs+DataBase.mdf";
             integrated security=True;  MultipleActiveResultSets=True;  App=EntityFramework"
   providerName="System.Data.SqlClient" />
我得到了以下例外:

无法打开登录请求的\DAL.UsersDb\数据库。登录 失败。\r\n登录用户“HOME\598”失败


将应用程序池上的用户设置为本地系统。它具有管理员权限,可以打开数据库。

可能是服务用户没有访问数据库的权限,为了测试,您可以在连接字符串中传递用户名和密码

<add name="UsersDb"
       connectionString="Data Source=(LocalDB)\v11.0;
       initial catalog=UsersDb;
                 AttachDbFilename=|DataDirectory|C:\Users\X7\Desktop\MyProject\DAL.UsersDb.mdf;
                 user id=user;password=pass;  MultipleActiveResultSets=True;  App=EntityFramework"
       providerName="System.Data.SqlClient" />
在部署中,您可以在代码中保存用户名和密码,并在代码中更改连接字符串


不清楚。把两个代码都放进去。和以前一样,它在工作。现在,当它不起作用时仍然不起作用,是否有一个指南或说明如何将数据库关联到另一个位置的东西,这应该非常简单用于调试的连接字符串是什么?@david我得到了这个链接你能试试吗
<add name="UsersDb"
       connectionString="Data Source=(LocalDB)\v11.0;
       initial catalog=UsersDb;
                 AttachDbFilename=|DataDirectory|C:\Users\X7\Desktop\MyProject\DAL.UsersDb.mdf;
                 user id=user;password=pass;  MultipleActiveResultSets=True;  App=EntityFramework"
       providerName="System.Data.SqlClient" />