Asp.net
如何從 Owin 管道中獲取 ApplicationDbContext
這必須很簡單,但我會睜大眼睛試圖找到答案。控制器操作如何獲得對隱藏在 Owin 管道中的每個請求 ApplicationDbContext 的引用?
編輯:好的,我想我越來越近了……也許不是……我所有的Google搜尋似乎都導致了這篇部落格文章,使用哪個 sez:
var dbContext = context.Get<ApplicationDbContext>();其中 context 顯然是
Microsoft.Owin.IOwinContext. 所以我嘗試了:var db = HttpContext.GetOwinContext().Get<ApplicationDbContext>();但是該
Get<T>方法需要一個string key參數。:(
答案(顯然)是…… 你需要添加這個 using 語句才能讓它工作:
using Microsoft.AspNet.Identity.Owin;所以一個完整的例子看起來像:
using Microsoft.AspNet.Identity.Owin; public class HomeController : Controller { public ActionResult Index() { var context = HttpContext.GetOwinContext().Get<ApplicationDbContext>(); DoSomething(context); // Use the context object; do not dispose it! return View(); } }