Я пытаюсь создать веб-приложение ASP.NET MVC 5 с файлом MyDatabase.mdf
в папке App_Data
. У меня установлен SQL Server 2014 Express с экземпляром LocalDb
. Я могу редактировать таблицы базы данных с помощью Server Explorer, однако, когда я отлаживаю приложение и перехожу на страницу, где нужна база данных, я получаю следующую ошибку.
При установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (провайдер: Сетевые интерфейсы SQL, ошибка: 50 - Произошла ошибка локальной базы данных. Невозможно создать автоматический экземпляр. См. журнал событий приложения Windows для получения подробных сведений об ошибке.
Итак, я посмотрел в средстве просмотра событий в разделе Application
и снова вижу одно предупреждение снова и снова.
Недопустимый каталог, предназначенный для кэширования сжатого содержимого. C:\Users\User1\AppData\Local\Temp\iisexpress\IIS Временные сжатые файлы \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 отключается после запуска приложения. Если я обновляю базу данных с помощью Server Explorer в Visual Studio, я могу просмотреть таблицы.
Как я могу подключиться к базе данных и отредактировать ее в Visual Studio 2013, но когда я отлаживаю приложение, он не может подключиться к базе данных?