如何基于嵌套列表项匹配从数据库中选择实体?

时间:2018-09-09 09:17:28

标签: linq entity-framework-core

我有一个包含Item列表的DbSet,现在我想根据其嵌套列表项匹配从数据库中搜索Item

项目模型

public int ItemID{ get; set; }
public string Cover { get; set; }
public List<SlideModel> Slides { get; set; }

幻灯片模型

public int SlideID{ get; set; }
public int ItemID{ get; set; }
public string Slide{ get; set; }

现在,我将传递一个搜索字符串Slide,它将搜索Item中具有Slide的{​​{1}}并返回List<SlideModel>

Item

如何编写Query方法以基于item = await context.Items .Include(i => i.Slides) .Where(...todo-maybe...) .FirstOrDefaultAsync(); 来获取item

1 个答案:

答案 0 :(得分:1)

这就是您想要的东西吗?希望对您有帮助,我的朋友:))

string inputSlide = "abc";

item = await context.Items
    .Include(i => i.Slides)
    .Where(i => i.Slides.Any(i => i.Slide.ToLower() == inputSlide.ToLower()))
    .FirstOrDefaultAsync();