我有調用數據庫表並通過ado.net實體框架獲取數據的基礎控制器。當我打電話給每個控制器時,都會調用控制器當基地控制器被稱爲它的數據從SQL數據庫並拉我的表信息。Asp.Net MVC調用基礎控制器中的數據庫
我讀到實體框架緩存數據。所以在這種情況下,每次控制器調用時它會觸及db還是撞擊一次並緩存數據?
public class BaseController : Controller
{
MyEntities db= new MyEntities();
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
var details = db.mytables.tolist();
}
}
我所有的控制器繼承控制器基
public class MyController : BaseController
{
//my code
}
你在哪裏讀過EF緩存?它可以以SQL緩存但EF不緩存的方式調用SQL。 –
EF會跟蹤實體,但不會在asp.net中跟蹤實體,因爲您會爲每個請求創建一個新的上下文。此外,您不希望在請求之間重複使用EF上下文,這很危險。 – Igor
您需要實現自己的緩存。 –