Asp.net mvc 如何在管理中显示已删除的评论

Asp.net mvc 如何在管理中显示已删除的评论,asp.net-mvc,entity-framework,.net-core,entity-framework-core,Asp.net Mvc,Entity Framework,.net Core,Entity Framework Core,我想把删除的评论列表放在管理部分。IsDelete功能还有一个评论部分。代码工作正常,但当我设置where条件时,输出值为零,并且不显示任何注释 public ShowCommentUsersForAdminViewModel GetRemovedCommentByAdminSearch(int pageId = 1, string filter = "") { //lazy load enable with IQueryable

我想把删除的评论列表放在管理部分。IsDelete功能还有一个评论部分。代码工作正常,但当我设置where条件时,输出值为零,并且不显示任何注释

public ShowCommentUsersForAdminViewModel GetRemovedCommentByAdminSearch(int pageId = 1, string filter = "")
        {
            //lazy load enable with IQueryable
            IQueryable<BlogComment> result = _context.BlogComments
                .Include(c => c.Blog)
                .Include(c => c.User);

            if (!string.IsNullOrEmpty(filter))
            {
                result = result.Where(u => u.Comment.Contains(filter) || u.User.UserName.Contains(filter) || u.Blog.BlogTitle.Contains(filter));
            }
            //show Item In Page
            int take = 10;
            int skip = (pageId - 1) * take;


            ShowCommentUsersForAdminViewModel list = new ShowCommentUsersForAdminViewModel();
            list.CurrentPage = pageId;
            list.PageCount = (result.Count() / take) + 1;
            list.BlogComments = result.Where(c => c.IsDelete).OrderBy(u => u.CreateDateComment).Skip(skip).Take(take).ToList();

            return list;
        }

public ShowCommentUsersForAdminViewModel GetRemovedCommentByAdminSearch(int pageId=1,string filter=”“)
{
//使用IQueryable启用延迟加载
IQueryable结果=_context.BlogComments
.Include(c=>c.Blog)
.包括(c=>c.User);
如果(!string.IsNullOrEmpty(筛选器))
{
result=result.Where(u=>u.Comment.Contains(filter)| | u.User.UserName.Contains(filter)| | u.Blog.BlogTitle.Contains(filter));
}
//在页面中显示项目
int-take=10;
int skip=(pageId-1)*获取;
ShowCommentUsersForAdminViewModel列表=新的ShowCommentUsersForAdminViewModel();
list.CurrentPage=pageId;
list.PageCount=(result.Count()/take)+1;
list.blogcoments=result.Where(c=>c.IsDelete).OrderBy(u=>u.CreateDateComment).Skip(Skip.Take(Take.ToList();
退货清单;
}
是的,我使用了此代码

  modelBuilder.Entity<ProductComment>().HasQueryFilter(b => !b.IsDelete);
modelBuilder.Entity().HasQueryFilter(b=>!b.IsDelete);
再次检查代码,并使用IgnoreQueryFilters()解决问题。
谢谢Ivan Stoev

。其中(c=>c.IsDelete)使用了两次。无论我把它放在哪里,结果都是零。我更正了代码并将其放在最后的位置,但结果仍然为零。您可以在Visual Studio中调试此代码,并获得EF生成的实际SQL。这可能有助于您了解此处发生的情况。请检查您是否配置了
IsDeleted==false
。如果是,则它将用于此查询。