Я вручную создаю эквивалентную лямбду:
var function = p => p.Child.Any(c => c.Field == "value");
У меня есть ссылка MethodInfo на метод «Any», используемый со встроенным кодом Expressions.
MethodInfo method = typeof(Queryable).GetMethods()
.Where(m => m.Name == "Any" && m.GetParameters().Length == 2)
.Single().MakeGenericMethod(typeof(Child));
Мои сущности: Родитель 1 --- * Ребенок
Дочерний элемент - это свойство навигации для родительского элемента (p в приведенной выше лямбде). Тип свойства - EntityCollection, созданный дизайнером.
Я искал правильный способ ссылки на метод Any для создания этого вызова. Марк дал мне ответ, как это получить: Вызов метода из выражения
Но это не работает для фреймворка сущностей. EntityCollection не реализует IQueryable, поэтому как следует ссылаться на метод Any.