我正在尝试建立一个 ASP.NET MVC 5 Web 应用程序,它在 App_Data
文件夹中有一个 MyDatabase.mdf
文件。我安装了带有 LocalDb
实例的 SQLServer2014Express。我可以使用 Server Explorer 编辑数据库表,但是当我调试应用程序并转到需要数据库的页面时,会得到以下错误。
建立到 SQLServer 的连接时发生了与网络相关或实例特定的错误。找不到或无法访问服务器。验证实例名称是否正确,SQLServer 是否配置为允许远程连接。(提供程序: SQL 网络接口,错误: 50-发生本地数据库运行时错误。无法创建自动实例。有关错误详细信息,请参阅 Windows 应用程序事件日志。
所以我在 Application
下的事件查看器中一遍又一遍地看到一个警告。
为缓存压缩内容指定的目录 C: Users User1 AppData Local Temp iisExpressIIS 临时压缩文件 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 实例断开了连接。如果在 VisualStudio 中使用服务器资源管理器刷新数据库,则可以查看表。
为什么我可以连接到数据库并在 VisualStudio2013中编辑它,但是当我调试应用程序时它却不能连接到数据库?