检查列表是否包含特定 collection 的任何元素的最佳方法是什么?
What is the best way to check if list contain any element of specific collection?
获取仅包含一些数据的列表的最佳方法是什么?
我的应用程序在 ASP.NET CORE 5 Web API 上。它有 KitchenOrigin
个,每个包含 collection 个 Recipes
。
public class KitchenOrigin
{
public int Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public ICollection<Recipe> Recipes { get; set; }
}
}
虽然我的应用程序 运行,但我正在播种一些数据 (Recipes
)。
KitchenOrigin
s 非常多,所以我只想获得包含 Recipe
s.KitchenOrigin
s 的列表。 =21=]
如标题所示:最好的方法是什么?
也许 IQueryable
?你能帮我吗?
这是我的代码:
回购
public async Task<IEnumerable<KitchenOrigin>> GetKitchenOriginsWithRecipesAsync()
{
return await _context.KitchenOrigins
.Include(k => k.Recipes)
.ToListAsync();
}
控制器
[HttpGet("kitchen-origins")]
public async Task<ActionResult> GetKitchenOrigins()
{
var kitchenOrigins = await _recipeRepository.GetKitchenOriginsWithRecipesAsync();
return Ok(kitchenOrigins);
}
可以使用.Where()
过滤,.Any()
判断是否为空。
public async Task<IEnumerable<KitchenOrigin>> GetKitchenOriginsWithRecipesAsync()
{
return await _context.KitchenOrigins
.Where(k => k.Recipes.Any())
.Include(k => k.Recipes)
.ToListAsync();
}
获取仅包含一些数据的列表的最佳方法是什么?
我的应用程序在 ASP.NET CORE 5 Web API 上。它有 KitchenOrigin
个,每个包含 collection 个 Recipes
。
public class KitchenOrigin
{
public int Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public ICollection<Recipe> Recipes { get; set; }
}
}
虽然我的应用程序 运行,但我正在播种一些数据 (Recipes
)。
KitchenOrigin
s 非常多,所以我只想获得包含 Recipe
s.KitchenOrigin
s 的列表。 =21=]
如标题所示:最好的方法是什么?
也许 IQueryable
?你能帮我吗?
这是我的代码:
回购
public async Task<IEnumerable<KitchenOrigin>> GetKitchenOriginsWithRecipesAsync()
{
return await _context.KitchenOrigins
.Include(k => k.Recipes)
.ToListAsync();
}
控制器
[HttpGet("kitchen-origins")]
public async Task<ActionResult> GetKitchenOrigins()
{
var kitchenOrigins = await _recipeRepository.GetKitchenOriginsWithRecipesAsync();
return Ok(kitchenOrigins);
}
可以使用.Where()
过滤,.Any()
判断是否为空。
public async Task<IEnumerable<KitchenOrigin>> GetKitchenOriginsWithRecipesAsync()
{
return await _context.KitchenOrigins
.Where(k => k.Recipes.Any())
.Include(k => k.Recipes)
.ToListAsync();
}