我正在调用一个包装EF核心的存储库,弄乱了contoso示例
public async void PopulateFacultySL( object selectedFaculty )
{
var data = await GetUnitOfWork().Faculties.GetAllAsync();
FacultySL = new SelectList( data, "Id", "Name", selectedFaculty );
}
Run Code Online (Sandbox Code Playgroud)
刷新页面时,有时会填充下拉列表,有时则不会.我迟到了技术(异步和等待)并试图学习,我知道它可能是某种愚蠢的东西,并希望有经验的人可以看到问题是什么.
protected DbSet<TEntity> TypedContext => Context.Set<TEntity>();
public virtual Task<List<TEntity>> GetAllAsync()
{
return ReturnAndFilterByInstitutionAsync( TypedContext.AsQueryable() );
}
public Task<List<TEntity>> ReturnAndFilterByInstitutionAsync( IQueryable<TEntity> query )
{
return query.Where( q => q.InstitutionId == InstitutionId ).ToListAsync();
}
Run Code Online (Sandbox Code Playgroud)
如果您需要查看任何其他课程信息,请告诉我
编辑:这是页面中的原始调用方法
public IActionResult OnGet()
{
PopulateFacultySL(null);
return Page();
}
Run Code Online (Sandbox Code Playgroud)
然后必须改为:
public async Task<IActionResult> OnGet()
{
FacultySL = await GetFacultySL( null );
return Page(); …Run Code Online (Sandbox Code Playgroud)