以下のコードでは、施設テーブルに新しい施設を追加しようとしています。「保存」メソッドは、DbContext SaveChanges() を呼び出します。SaveChanges() が実行された後、newFacility に Id が生成されることを期待しますが、生成されず、データベースにも保存されません。ファシリティ DbSet に新しいファシリティを追加する方法に何か問題がありますか?
[HttpPost]
public ActionResult Create(CreateFacilityViewModel viewModel)
{
if (ModelState.IsValid)
{
var facilities = _db.Facilities;
var newFacility = new Facility();
//newFacility.FacilityId = viewModel.FacilityId;
newFacility.FaclityName = viewModel.FaclityName;
newFacility.Address = viewModel.Address;
newFacility.City = viewModel.City;
newFacility.State = viewModel.State;
_db.Facilities.ToList().Add(newFacility);
_db.Save();
return RedirectToAction("detail", "facility", new { id = newFacility.FacilityId });
}
return View(viewModel);
}
設備はこんな感じ。
public DbSet<Facility> Facilities { get; set; }
IQueryable<Facility> IGolfDataSource.Facilities
{
get { return Facilities; }
}