我有
IQueryable
Gizmo
。
我想编写 LINQ 语句来过滤颜色在我传递的参数 (
string[]
) 中的所有 Gizmos。
例如:
public class Gizmo
{
public string Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Color> Colors { get; set; } = new List<Color>();
}
public class Color
{
public string Id { get; set; }
public string Value { get; set; }
}
我将获得一个参数,例如:
var filterColors = new[] { "red", "silver" };
我想写一些类似的东西:
gizmos = gizmos.Where(x => x.ColorTags.Contains(filterColors));
看来您正在寻找:
gizmos = gizmos.Where(x => filterColors.Any(z => x.Colors.Any(e => e.Value == z)));