1

私は MVC4 を試していますが、データを作成しようとして立ち往生しています。私のコードはリストに何も追加しません。コントローラーの HttpPost Create メソッドのコードは次のとおりです。

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 クラスを拡張するクラスの mydefinition にあります。

public DbSet<ScriptRequest> ScriptRequests { get; set; }

IQueryable<Parameter> IDarylToolDatasource.Parameters
{
     get { return Parameters; }
}

void IDarylToolDatasource.Save()
{
     SaveChanges();
}
4

1 に答える 1

0

問題は次の行にあると思います。

_db.ScriptRequests.ToList<ScriptRequest>().Add(scriptRequest);

.ToList()この行のメソッドList<ScriptRequest>はメモリに を作成し、次のチェーンでは、dbcontext ではなく、そのメモリ内リストにオブジェクトを追加します。

削除する.ToList()と問題は解決します

于 2013-09-15T16:20:10.003 に答える