在EF Core 中使用AsQueryable扩展方法的拼接查询

AsQueryable扩展方法的拼接查询使用:

using MyDbcontext _dbcontext=new MyDbcontext();
 var query=_dbcontext.Users.AsQueryable();

 if(!string.IsNullOrWhiteSpace(username))
{
 query=query.Where(p=>p.UserName!.Contains(username));
}
 if(!string.IsNullOrWhiteSpace(password))
{
 query=query.Where(p=>p.Pwd!.Contains(password));
}
 if(userId>0)
{
 query=query.Where(p=>p.UserId==id);
}

var List_user=query.ToListAsync();

一般常用的查询预加载查询,但是要用拆分查询来优化,避免迪卡尔效应带来的数据冗余

var list=_dbcontext.users.Include(p=>p.Role.Bills)
         .AsSplitQuery() //拆分查询
         .ToListAsync();
posted @ 2024-10-18 20:11  一个人走在路上  阅读(0)  评论(0编辑  收藏  举报