Joh*_*nyL 1 dependency-injection asp.net-core razor-pages
我有一个简单的页面,仅显示电影列表。我注入DbContext
到我的页面中:
列表.cshtml
@inject MovieContext Db
Run Code Online (Sandbox Code Playgroud)
并尝试在代码隐藏类中使用它:
列表.cshtml.cs
@inject MovieContext Db
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误:
当前上下文中不存在名称“Db”
我也尝试过使用[Inject]
属性注入上下文,但这也不起作用:
public class ListModel : PageModel
{
public IList<Movie> Movies { get; set; }
public async Task OnGetAsync()
{
Movies = await Db.Movies.ToListAsync();
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
NullReferenceException:未将对象引用设置为对象的实例。
只需要直接在代码隐藏类中使用依赖注入即可,如下所示。
public class ListModel : PageModel
{
private readonly MovieContext _context;
public ListModel(MovieContext context)
{
_context = context;
}
public IList<Movie> Movies { get; set; }
public async Task OnGetAsync()
{
Movies = await _context.Movies.ToListAsync();
}
}
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,您可以查看文档。
归档时间: |
|
查看次数: |
1159 次 |
最近记录: |