Я не знаю способа генерации предложения WHERE IN
с EF, но вы можете использовать деревья выражений для создания предложения WHERE
, которое будет проверять каждое из ваших значений:
Expression<Func<FooEntity, bool>> seed = l => false;
var predicate = controlsToGet.Aggregate(seed,
(e, c) => Expression.Lambda<Func<DataEventAttribute, bool>>(
Expression.OrElse(
Expression.Equal(
Expression.Property(
Expression.Property(
e.Parameters[0],
"Control"),
"Name"),
Expression.Constant(c)),
e.Body),
e.Parameters));
var all = fooelements.Where(predicate);
Если вы распечатаете predicate
, вы должны увидеть такое выражение:
l => ((l.Control.Name = ctrl5) || l.Control.Name = ctrl4 || ... || False )