Как использовать множественное значение с контейнером в Dynamic Linq.
Ожидается при обычном Linq:
using System;
using System.Linq;
public class Simple {
public static void Main() {
string[] names = { "Burke", "Laptop", "Computer",
"Mobile", "Ahemed", "Sania",
"Kungada", "David","United","Sinshia" };
string[] vars = {"i","a"};
var query = names.Where(i=> vars.Any(j=>i.Contains(j))).ToList();
Console.WriteLine(query.Count);
}
}
Ожидаемый SQL
SELECT * FROM User WHERE (NAME LIKE '%a%'OR NAME LIKE '%b%')
Пробовал Dynamic Linq:
query = query.Where("new[]{\"a\",\"c\"}.Any(i=>i.Contains(it.ProductName))");
Исключение возврата:
No property or field 'ProductName' exists in type 'String'
Зависит от:
- .NET CORE 2.2
- EntityFramework Core 2.2.6
- System.Linq.Dynamic.Core 1.0.18 (https://github.com/StefH/System.Linq.Dynamic.Core)
i=> i.Contains(vars.Any()))
? - person vivek nuna   schedule 23.08.2019