Я прочитал много тем, посвященных сохранению многих отношений с EF 6.1, но я больше не получаю. Таблица соединений с reservationId
и facilityId
по-прежнему остается пустой после сохранения моей брони.Сохранение многих ко многим отношениям в EF 6.1
Это мои модели:
public class Reservation
{
[Key]
public int reservationId { get; set; }
//Lijst met Facilities, Many to Many
public virtual ICollection<Facility> FacilitiesList { get; set; }
}
public class Facility
{
[Key]
public int FacilityId { get; set; }
public decimal FacilityPrice { get; set; }
public string FacilityType { get; set; }
//Many to Many
public virtual ICollection<Reservation> reservationList { get; set; }
public Facility()
{
//Instantiate our implementation of ICollection
this.reservationList = new HashSet<Reservation>();
}
}
Я создаю таблицу присоединиться переопределив OnModelCreating:
public partial class DataContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Reservation>()
.HasMany<Facility>(s => s.FacilitiesList)
.WithMany(c => c.reservationList)
.Map(cs =>
{
cs.MapLeftKey("ReservationId");
cs.MapRightKey("FacilityId");
cs.ToTable("ReservationFacility");
});
}
}
Edit: Вот где я сохраняю оговориться:
public ActionResult Create()
{
ViewBag.FacilitiesList = new SelectList(_facilityrepository.GetAll(), "FacilityId", "FacilityType");
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ReservationId,ArrivalDate,LeaveDate,CampingSpotId,UserId,PersonsAmount,FacilityType,FacilityPrice")] Reservation reservation)
{
_reservationrepository.Add(reservation);
return RedirectToAction("ShowAvailableSpots", new { ArrivalDate = reservation.ArrivalDate, LeaveDate = reservation.LeaveDate, ReservationID = reservation.ReservationId });
}
сейчас У меня есть таблицы. Я могу сохранить объекты, и я могу выбрать их при создании резервирования с помощью MultiSelectList.
Почему таблица соединений всегда пуста? Что мне нужно сделать, чтобы заполнить FacilitiesList
, чтобы я мог получить эти данные в любом месте моего проекта?
Вы можете добавить код, в котором вы сэкономить 'Reservation'? – SWilko
вы исключите единственную часть своего кода, которую нам нужно увидеть! :) – renakre
Да, проверьте редактирование! – Forza