Выпадающий список из имеющихся значений в БД на странице для ввода нового пользователя
У меня возникла проблема: пишу представление для регистрации пользователя, в качестве графы "Пол" хочу вывести список значений, которые уже есть в БД в таблице Genders (Они по умолчанию создаются). Выводится ошибка, что я Бд хочу удалить, никак не получается ее обойти. Из-за чего это может быть? Подскажите пожалуйста. Скрин ошибки во вложении
P.S.: Сейчас в представлении еще не все поля для ввода реализованы.
Модель для таблиц StaffVolunteers и Genders:
public class StaffVolunteer
{
public int StaffVolunteerID { get; set; }
public string Surname { get; set; }
public string Name { get; set; }
public string Patronymic { get; set; }
public System.DateTime DateOfBirth { get; set; }
public int GenderID { get; set; }
public string PhoneNumber { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public int SuperUser { get; set; }
public bool BeReady { get; set; }
public virtual Gender Gender { get; set; }
public StaffVolunteer()
{
this.Groups = new List<Group>();
}
public virtual ICollection<Group> Groups { get; set; }
}
public class Gender
{
public int Id { get; set; }
public string NameOfGender { get; set; }
public virtual ICollection<MissingPerson> MissingPeople { get; set; }
public virtual ICollection<FoundStranger> FoundStrangers { get; set; }
public virtual ICollection<StaffVolunteer> StaffVolunteers { get; set; }
public Gender()
{
this.FoundStrangers = new List<FoundStranger>();
this.MissingPeople = new List<MissingPerson>();
this.StaffVolunteers = new List<StaffVolunteer>();
}
}
Контроллер
public class VolunteersController : Controller
{
private EventContext db = new EventContext();
[HttpGet]
public ActionResult Reg()
{
SelectList genders = new SelectList(db.Genders, "Id", "NameOfGender");
ViewBag.Genders = genders;
return View();
}
[HttpPost]
public ActionResult Reg(StaffVolunteer volun)
{
db.StaffVolunteers.Add(volun);
db.SaveChanges();
return RedirectToAction("Auth");
}
....
}
Представление
@model Practice2021_2.Models.StaffVolunteer
@{
ViewBag.Title = "Create";
}
@{
Layout = null;
}
<h2>Регистрация нового волонтера</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.LabelFor(model => model.Surname, "Фамилия")
<br />
@Html.EditorFor(model => model.Surname)
<br />
<br />
@Html.LabelFor(model => model.Name, "Имя")
<br />
@Html.EditorFor(model => model.Name)
<br />
<br />
@Html.LabelFor(model => model.Patronymic, "Отчетво")
<br />
@Html.EditorFor(model => model.Patronymic)
<br />
<br />
@Html.LabelFor(model => model.GenderID, "Пол")
<br />
@Html.DropDownListFor(model => model.GenderID, ViewBag.Genders as SelectList)
<br />
<br />
<input type="submit" value="Добавить" />
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
public class EventContext:DbContext
{
public virtual DbSet<Equipment> Equipments { get; set; }
public virtual DbSet<FoundStranger> FoundStrangers { get; set; }
public virtual DbSet<Gender> Genders { get; set; }
public virtual DbSet<Group> Groups { get; set; }
public virtual DbSet<MissingPerson> MissingPeople { get; set; }
public virtual DbSet<SearchCampaign> SearchCampaigns { get; set; }
public virtual DbSet<Set> Sets { get; set; }
public virtual DbSet<StaffVolunteer> StaffVolunteers { get; set; }
}
Вот так заполняется Таблица Genders, она с автоматической индексацией.
public class DbEventInitializer : DropCreateDatabaseAlways<EventContext>
{
protected override void Seed(EventContext context)
{
Gender g1 = new Gender { NameOfGender = "Мужской" };
Gender g2 = new Gender { NameOfGender = "Женский" };
context.Genders.Add(g1);
context.Genders.Add(g2);
......
context.SaveChanges();
}
}
Я вырезала инициализатор, который у меня был, теперь на этом же месте выходит новая ошибка 