Прежде чем вы скажете, что это ответ на вопрос, я проверил все, что нашел на эту тему, и ничего не работает для меня..net MVC не распознает класс DBContext
Я смотрю учебное пособие по инфраструктуре сущности и выполнению проекта в .net MVC. Я создал следующий класс:
namespace ShowReel.Models
{
public class ShowReelDB : DbContext
{
public DbSet<Tvshow> Tvshows { get; set; }
public DbSet<EpisodeGuide> Episode { get; set; }
}
}
Я должен открыть соединение с локальной базой данных, и на уроке в качестве опции к базе данных, он дает этот класс DbContext.
я получаю только это:
Если я ввести его вручную, то он создает новую пустую базу данных, но предполагается создать базу данных, которая имеет таблицы TVShows и эпизод.
Может ли кто-нибудь сказать мне, в чем проблема? Мне нужно установить что-нибудь еще в Visual Studio?
Прошу прощения, если это глупый вопрос, но я довольно новичок в .net mvc, и я пытаюсь изучить его прямо сейчас.
Вот ConnectionString:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-ShowReel-20170214120508.mdf;Initial Catalog=aspnet-ShowReel-20170214120508;Integrated Security=True" providerName="System.Data.SqlClient" />
И вот что я имею в рамках объекта в файле web.config:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
EDIT: При запуске приложения появляется следующая ошибка:
модель, где я называю базы данных это одна:
// GET: TVShows
ShowReelDB _db = new ShowReelDB();
public ActionResult TVshow()
{
var model = _db.Tvshows.ToList();
return View(model);
}
А вот элементы таблицы Tvshow и эпизод:
public class EpisodeGuide
{
public int Id { get; set; }
public string Name { get; set; }
public int Seasons { get; set; }
public Array EpisodesPerSeason { get; set; }
public DateTime Date { get; set; }
}
public class Tvshow
{
public int Id { get; set; }
public string Type { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public double Rating { get; set; }
public string Image { get; set; }
public int Year { get; set; }
public int EpisodeGuideID { get; set; }
}
мнение заключается в следующем:
@foreach (var item in Model)
{
<div class="row">
<div class="col-md-4">
<img src="../Content/Images/@item.Image" style="height:200px; width:300px;" />
</div>
<div class="col-md-8">
<h2> @Html.DisplayFor(modelItem => item.Name)</h2>
<p> @Html.DisplayFor(modelItem => item.Description)</p>
<button class="btn btn-danger btn-lg news" id="@Html.DisplayFor(modalItem => item.Id)">Track</button>
</div>
</div>
<hr />
}
Что произойдет, если вы разрешите ему создать новую пустую базу данных, а затем передать строку подключения этой базы данных в свой DbContext и запустить приложение? Создает ли он необходимые таблицы для вас? – mason
Где находится класс DBCOntext и строка соединения. пожалуйста, поделитесь ими. Также, где вы добавили миграции, это DB First Approach? –
Я поместил строку соединения, и класс DBContext уже был указан .. по крайней мере, я думаю, что это класс, который вы имеете в виду. –