linq喜欢在关系数据上

问题描述

我正在尝试在具有一对多关系的桌子上做点赞。该代码存在一些问题。 促销表与 PromotionMajorChains 具有一对多关系。我正在尝试在 MajorChain 列的PromotionMajorChains表上执行类似操作。我收到的错误 CS1503参数2:无法从'System.Collections.Generic.IEnumerable'转换为'string'

代码

case MAJOR_CHAIN:
         paginatedQueryable = paginatedQueryable.Where(e => EF.Functions.Like(e.Promotion.PromotionMajorChains.Select(mc => mc.MajorChain),$"%{filter.Value}%"));
         break;

Example filter.Value = "group"

解决方法

如果您有一组记录,则应用专用于该记录的谓词

paginatedQueryable = paginatedQueryable
   .Where(e => e.Promotion.PromotionMajorChains.Any(mc =>
      EF.Functions.Like(mc.MajorChain,$"%{filter.Value}%")
   );