我先用ef代码创建数据库。
我将创建的2个文件复制到项目文件夹中
DAL.UsersDb.mdf
和DAL.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; }
}
答案 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" />
在部署中,您可以在代码中保存用户名和密码,并在代码中更改连接字符串