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

时间:2015-09-04 14:35:48

标签: c# entity-framework

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

现在我想告诉项目使用新位置。 我将它们添加到config文件中,但它无法正常工作

<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" />

我得到以下例外:

  

无法打开数据库\&#34; DAL.UsersDb \&#34;登录请求。登录   用户&#39; HOME \ 598&#39;。

失败。\ r \ n登录失败
public class UsersDb : DbContext
{
    public DbSet<BE.User> users { get; set; }
}

2 个答案:

答案 0 :(得分:0)

将应用程序池中的用户设置为&#34; Local System&#34;。它具有管理员权限,可能能够打开数据库。

答案 1 :(得分:0)

可能是服务用户无法访问数据库,进行测试可以在连接字符串中传递用户名和密码

<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" />

在部署中,您可以在代码中保存用户名和密码,并在代码中更改连接字符串

code supply the password to a connection string