Я собираюсь сделать build - это пользовательский интерфейс, который позволит опытному пользователю создавать сложные запросы.
Это нетривиально, но очень часто. Поэтому, прежде чем я заново изобрету колесо, я хотел бы посмотреть, сможет ли кто-нибудь указать мне какой-нибудь уже написанный бесплатный код или выпустить свой собственный.
Требуется:
Чтобы иметь возможность указать некоторую логику типа 'where-clause', такую как: Age>21 and (Citizen=True or HasGreeCard=True)
, но без необходимости вводить код запроса, вместо этого используйте пользовательский интерфейс с ограниченными параметрами и проверку синтаксиса на лету (например, без закрытой скобки или окончания термина оператором).
Я видел подобные вещи во многих бизнес-приложениях, где вы можете сказать «добавить условие», и в пользовательском интерфейсе появляется следующая строка:
Dropdown of fields Dropdown of ops (=, >, etc) Blank box for entry
И вы можете добавить больше строк, и все строки будут помечены как "и", но вы также можете выбрать ИЛИ несколько или вставить круглые скобки (подробности или с помощью отступа), а НЕ строку, вставлять, удалять и перемещать строки вокруг и т. д.
Не обязательно, но приятно:
- WPF - я могу конвертировать из winforms.
- Расширяемость с помощью ОО-конструкций.
- Проверить правильность запроса.
- Излучает дерево выражений
System.Linq.Expressions
или аналогичную структуру данных.
- Если он пытается выполнить запрос, мне это не нужно; но я не против удалить его.