Unable to cast object of type 'Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[user]' to type 'Microsoft.EntityFrameworkCore.DbSet`1[user]'.
如题再做查询的时候报了这个错误。
原代码如下:
public virtual async Task<PagedList<ApiScope>> GetApiScopesAsync(string search, int page = 1, int pageSize = 10) { var pagedList = new PagedList<ApiScope>(); var filteredApiScopes = DbContext.ApiScopes .WhereIf(!string.IsNullOrEmpty(search), x => x.Name.Contains(search)); var apiScopes = await filteredApiScopes .PageBy(x => x.Name, page, pageSize).ToListAsync(); pagedList.Rows.AddRange(apiScopes); pagedList.TotalCount = await filteredApiScopes.CountAsync(); pagedList.PageSize = pageSize; return pagedList; }
修改后的代码
public virtual async Task<PagedList<ApiScope>> GetApiScopesAsync(string search, int page = 1, int pageSize = 10) { var pagedList = new PagedList<ApiScope>(); var filteredApiScopes = DbContext.ApiScopes.AsQueryable() .WhereIf(!string.IsNullOrEmpty(search), x => x.Name.Contains(search)); var apiScopes = await filteredApiScopes .PageBy(x => x.Name, page, pageSize).ToListAsync(); pagedList.Rows.AddRange(apiScopes); pagedList.TotalCount = await filteredApiScopes.CountAsync(); pagedList.PageSize = pageSize; return pagedList; }

浙公网安备 33010602011771号