Я пишу приложение с использованием NHibernate, и одним из требований является создание правил для системы, которые будут эффективно генерировать запросы SQL для фильтрации данных.Эти правила поддерживаются пользователем приложения.
В качестве примера у вас может быть правило для выпуска ордеров, которое называется
ForeignOrders , которое будет настроено на что-то вроде Заказ (бизнес-объект) DeliveryCountry (свойство бизнес-объекта) <> UK
или
ExорогоLondonAcmeOrders , который будет настроен как Заказ (Бизнес-объект) DeliveryCity (Свойство бизнес-объекта) = Лондон И Заказ TotalAmount (свойство бизнес-объекта) > 1000 И Заказ CompanyName = ACME
Затем, когда пользователь приходит к деблокированию заказов, он выбирает, какой шаблон правил он хочет использовать, и будет выпускать только те заказы, которые соответствуют этим критериям.
Имена BusinessСвойства объектов и бизнес-объектов близко отражают базовые данные / доменмодели, но как вы сможете определить и отобразить их в пользовательском интерфейсе во время выполнения, а затем создать по существу предложение where для SQL-запроса.Кроме того, после определения вам также нужно будет хранить значения в базе данных с независимостью от платформы базы данных.
В идеале, я не хочу писать эту функциональность - вы могли бы достичь чего-то подобного, используя механизм правил?Если это так, то какие и дорогие из них не вариант.Если нет, то какие ресурсы доступны, чтобы справиться с тем, как написать это.
Спасибо за любую помощь, это будет действительно полезно