У меня нет никакого опыта работы с WF так что мой ответ только на основании того, что я видел в Интернете так далеко. Вы можете проверить this blog post.
Проблема с редактором Rule Set заключается в том, что он не позволяет использовать лямбда-выражения. Они по-прежнему не являются первоклассными гражданами в мире инструментов .NET dev, например. Непосредственное окно также не будет компилировать их.
Насколько я выяснил, что нет никакого решения вне коробки к этой проблеме, но это выглядит хорошо для меня:
Места всех вашего стиля LINQ коды пунктов в Свойства или методы, которые вы можете получить от , из окна «Условие» . Не превосходный ответ, но он работает в привязке.
Вы можете определить свойство как
public bool HasAnyBeatlesAlbums {
get {
return this.MusicLibrary.Any (cd => cd.Artist == "Beatles");
}
}
, а затем использовать это свойство в наборе выражения. Я также хотел бы отметить, что использование Любое метод расширения является предпочтительным для определения, является ли последовательность не пустой, потому что Любой не требует перечисления всех элементов.
Пожалуйста, дайте мне знать, это работает для вас.
Я не могу использовать их в RuleSetDialog. Он не распознает синтаксис. Что-нибудь особенное, что вы сделали, чтобы разоблачить их? – GarthT
Извините, может быть, я не понимаю, что такое RuleSetDialog, я не слишком хорошо знаком с Workflow. Я редактировал свое сообщение, чтобы показать, как мне удалось выполнить запрос LINQ и назначить его моему объекту. – JSprang