我正在尝试使用MVC4而且我一直试图创建数据。我的代码不会向List添加任何内容。这是我在控制器的HttpPost创建方法
上的代码Script script = _db.Scripts.Single(d => d.Id == viewModel.ScriptId);
ScriptRequest scriptRequest = new ScriptRequest();
scriptRequest.Username = viewModel.Name;
scriptRequest.RequestedScript = script;
scriptRequest.Parameters = viewModel.OtherParam;
scriptRequest.DateRequested = DateTime.Today;
_db.ScriptRequests.ToList<ScriptRequest>().Add(scriptRequest);
_db.Save();
return RedirectToAction("Index", "Home");
调试时,_db.ScriptRequest中没有添加任何内容。我也尝试过其他方法,比如Concat,但我仍然无法添加一行。这是我对一个扩展DbContext类的类的定义。
public DbSet<ScriptRequest> ScriptRequests { get; set; }
IQueryable<Parameter> IDarylToolDatasource.Parameters
{
get { return Parameters; }
}
void IDarylToolDatasource.Save()
{
SaveChanges();
}
答案 0 :(得分:0)
我认为问题出在这一行:
_db.ScriptRequests.ToList<ScriptRequest>().Add(scriptRequest);
.ToList()
方法在内存中创建List<ScriptRequest>
,在链的下面,将对象添加到内存列表中,而不是dbcontext。
删除.ToList()
,问题就会消失