0
usingステートメントをEntity Frameworkで使用する場合、関数が返される前に破棄されますか?例えば ステートメントロジックを使用するEntity Framework
は、私がこのpublic ActionResult test()
{
using (var empDb = new empEntities())
{
var mod = (from emps in empDb.employees
select emps);
return View(mod);
}
}
のようなものを持っていると言ういリターンビュー(MOD)の前に、エンティティのusingステートメントを処分。またはビューが閉じられるまでまだ開いていますか?
はい。モデルをビューに渡す前に、モデルをマテリアライズする必要があります。ビューを渡すとIQueryableが悪いです。つまり、ビューがレンダリングされるまでにコンテキストが破棄されているからです。ビューはデータベースに呼び出されるべきではありません(IQueryableを渡すと起こります)。依存関係注入を使用して、要求スコープの期待寿命があるコンテキスト(私はこれをninjectで行う)を手に入れることができますが、この問題は解消されますが、非マテリアライズド・クエリをビューに渡すのは快適ではありません。 – spender