我正在try 建立一个ASP.NET MVC 5 Web应用程序,App_Data
文件夹中有MyDatabase.mdf
个文件.我已经安装了SQL Server 2014 Express和一个LocalDb
实例.我可以使用服务器资源管理器编辑数据库表,但是当我调试应用程序并转到需要数据库的页面时,我得到以下错误.
建立与SQL Server的连接时发生与网络相关或特定于实例的错误.找不到或无法访问服务器.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:50-发生本地数据库运行时错误.无法创建自动实例.有关错误详细信息,请参阅Windows应用程序事件日志(log).).
所以我在低于Application
的事件查看器中查看,一遍又一遍只看到一个警告.
为缓存压缩内容C:\Users\User1\AppData\Local\Temp\iisexpress\IIS Temporary compressed Files\Clr4IntegratedAppPool指定的目录无效.正在禁用静态压缩.
所以我试着重新启动服务器,但仍然没有成功.和以前一样的错误50.
我创建了一个低于Models
的类,其中有一个名为Post
的类.
namespace MyApplication.Models
{
public class Post
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
}
public class MyDatabase : DbContext
{
public DbSet<Post> Posts { get; set; }
}
}
我也有一个Controller
设置来列出MyDatabase
篇文章.
namespace MyApplication.Controllers
{
public class PostsController : Controller
{
private MyDatabase db = new MyDatabase();
// GET: Posts
public ActionResult Index()
{
return View(db.Posts.ToList());
}
}
在我的web.config
文件中,连接字符串如下所示.
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=(LocalDB)\v12.0;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
我还注意到MyDatabase实例在我开始运行应用程序后断开连接.如果我在Visual Studio中使用服务器资源管理器刷新数据库,则可以查看这些表.
为什么我可以连接到数据库并在Visual Studio 2013中编辑它,但当我调试应用程序时,它无法连接到数据库?