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;
        }

 

posted @ 2024-03-12 16:36  hello_stone  阅读(113)  评论(0)    收藏  举报