私は次のエラーを取得していますは、私は何も配置されていないにもかかわらず、ObjectContextはインスタンスが破棄されているそうだ
のObjectContextインスタンスが破棄されていると、もはや必要な操作のために使用することはできません接続。
しかし、このフレームワークがこのエラーを投げている理由はわかりません。ここにコードがあります。
var bookmark = type.ToLower() == "bookmark"
? db.Bookmarks.First(u => u.BookmarkID == id)
: db.Users.First(u => u.UserID == id).Videos.FirstOrDefault(a => a.Recording)?.Bookmarks.OrderBy(b => b.Timestamp).FirstOrDefault();
if (bookmark != null)
{
var meta = bookmark.relBookmarkMetadatas.Select(a => new
{
Value =
FormatValue(a.Value, a.MetadataDefinition.MetadataType.ObjectType, a.MetadataDefinition.MetadataType.FormatString),
a.MetadataDefinition.MetadataClass.Class,
a.MetadataDefinition.Name,
a.MetadataDefinition.MetadataType.ObjectType,
a.MetadataDefinition.MetadataType.FormatString
});
return Json(meta, JsonRequestBehavior.AllowGet);
}
なぜこのエラーが発生しますか?
エラーは、あなたがJson(..)
方法にレイジー・ロードEntityFramework ICollection
を渡している
var meta = bookmark.relBookmarkMetadatas.Select(a => new
どのラインでエラーが表示されますか? – Zalomon
Enitityフレームワークは、デフォルトでlazy-loading ..を使用します。具体的に要求するまで、関連するデータの読み込みを遅らせます。おそらく、 '.Include()'メソッドを使って熱心な読み込みを試してみてください。あなたがエラーを受け取っている行を知っているといいですね。 –