也许是一个简单的问题,但我似乎无法弄清楚。将模型添加到数据库时将集合保存到模型不起作用。我有一个使用 asp.net MVC 和实体框架的站点。
型号:
public class Event
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public ICollection<EventRange> Ranges { get; set; }
}
public class EventRange
{
public int Id { get; set; }
public string RangeName { get; set; }
public string RangeDescription { get; set; }
public int Capacitiy { get; set; }
}
控制器动作:
[HttpPost]
public ActionResult Create(Event model)
{
ICollection<EventRange> eventRanges = new Collection<EventRange>();
var range = new EventRange {RangeName = "testrange", RangeDescription = "test", Capacitiy = 5}
eventRanges.Add(range);
model.Ranges = eventRanges;
db.Events.Add(model);
db.SaveChanges();
return View();
}
public ActionResult Events()
{
return View(db.Events);
}
在事件操作中设置断点并评估查询时,范围不会保存到事件中:
请注意,EF 为 eventrange 模型创建的数据库确实保存了范围:
难道我做错了什么?