1
"ObjectContextインスタンスが破棄され、接続が必要な操作に使用できなくなった"イントラネットアプリケーションで、リレーショナルSQLデータベース用のjQuery DataTable。jQuery DataTableの実装中にレイジー読み込みの問題
@section Scripts {
<script src="//cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function() {
$('#DataTbl').DataTable({
"ajax": {
"url": "/Home/loaddata",
"type": "GET",
"datatype": "json"
},
"columns": [
{ "data": "FacilityName", "autowidth": true },
{ "data": "FacilityType", "autowidth": true },
{ "data": "MachineType", "autowidth": true },
{ "data": "MachineFunctionDesc", "autowidth": true },
{ "data": "PhysicalLocation", "autowidth": true }
]
});
});
</script>
}
がどのように私はloaddata()
内を参照する必要があるオブジェクトをプリロードすることができます。これは、データテーブルと私のビューのコードが
using CyberAssets.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CyberAssets.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult loaddata()
{
using (CyberAssetsEntities dc = new CyberAssetsEntities())
{
var data = dc.CyberAssets.OrderBy(a => a.Id).ToList();
return Json(new { data = data }, JsonRequestBehavior.AllowGet);
}
}
}
}
です:
は、これは私にHomeControllerコードですusing
私のHomeControllerのブロックで、基本的に遅延ロードを避けますか?あなたのDataTableの初期化コードに次の行を追加する必要があり
は、トリックを行うようには見えませんでした。それでも同じエラーメッセージが表示されます。 – ScopeY
@ScopeY EntityFrameworkデータベースコンテキストオブジェクトが破棄されたようです。コードのどの行でエラーが発生しますか? – fatherOfWine
私は実際にエラーを修正することができました。ちょっとした微調整のタイプのもの。私はあなたの助けに感謝します。 – ScopeY