更新:將 DI 添加到頂部。@inject ApplicationDbContext 資料庫
在剃刀頁面之外.. 我有一個實用程式類,需要從 EF 查詢資料庫以獲取要填充到剃刀部分的值。
在_MenuPartial 中需要構造一個類并獲取值。
@{
WebMessageManagement wm = new WebMessageManagement(???dbcontext???);
wm.GetMessageCount(); //returns int
}
_MenuPartial 代碼片段:

在 WebMessageManagement 類中,我有這個:
public class WebMessageManagement
{
ApplicationDbContext _db;
public WebMessageManagement(ApplicationDbContext db)
{
_db = db;
}
public int GetMessageCount()
{
var count = (from o in _db.WebMessages
where o.Id >= 3109
from t in o.Email
select t).Count();
return count;
}
}
普通剃須刀頁面似乎注入了 ApplicationDbContext。但我正在剃刀頁面之外創建一個類。我是否需要為非剃刀再次設定此背景關系?
uj5u.com熱心網友回復:
注入將物件放入到控制器的 webrequest 中(99% 的時間,除非您正在做一些非常花哨的事情)。在這種情況下,您可以將背景關系作為變數傳遞給類函式。
WebMessageManagement wm = new WebMessageManagement();
wm.GetMessageCount(dbcontext); //returns int
然后在類檔案中
public class WebMessageManagement
{
public WebMessageManagement()
{
}
public int GetMessageCount(ApplicationDbContext db)
{
var count = (from o in db.WebMessages
where o.Id >= 3109
from t in o.Email
select t).Count();
return count;
}
}
我認為這會給你你所需要的。
uj5u.com熱心網友回復:
您還需要注入新課程。依賴注入將弄清楚如何使用您的建構式并為您注入 ApplicationDbContext,因為它也注冊了依賴注入
services.AddScoped<WebMessageManagement>()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/450079.html
