我希望基于非洲大陆的用户获取我的应用程序。我使用了以下代码。现在我想显示所有用户,如果continentId为null。我怎样才能做到这一点?
public async Task<IEnumerable<User>> GetUsersByContinent(int? continentId)
{
var users = await _context.Users
.Include(u => u.Country).ThenInclude(c => c.Continent)
.Where(u => u.Country.ContinentId == continentId)
.OrderBy(u => u.Username)
.ToListAsync();
return users;
}
答案 0 :(得分:1)
您可以使用使用方法链来解决您的问题。
public async Task<IEnumerable<User>> GetUsersByContinent(int? continentId)
{
var baseQuery= _context.Users.Include(u => u.Country).ThenInclude(c => c.Continent);
if (continentId.HasValue){
baseQuery = baseQuery.Where(u => u.Country.ContinentId == continentId)
}
return await baseQuery.OrderBy(u => u.Username).ToListAsync();
}
答案 1 :(得分:1)
我可能会使用@Jehof解决方案,但值得一提的是替代解决方案。
Method