ここでベストプラクティスの種類の答えを探しています。
実装するクラスと対話するためのベストプラクティスIDisposable
は次のUsing
ステートメントによるものであることを考えると、MVCでEFレイジーロードを使用するためのベストプラクティスは何ですか?
コントローラーメソッドの例:
<HttpGet>
Public Function Schedule(ByVal id As Int64) As ActionResult
Dim model As Schedule = Nothing
Using database As dataContext = New dataContext
model = (From s In database.Schedules Where s.ScheduleID = id Select s).FirstOrDefault
End Using
Return View(theSchedule)
End Function
この例では、モデルがビューに到着するまでにデータベース[dataContext]が破棄されるため、遅延読み込みが機能しなくなります。
だから私は質問だと思います:
MVCで遅延読み込みを使用するためのベストプラクティスは何ですか?データベースコンテキストが適切に破棄され、メモリリークが発生しないことをどのように保証しますか?