а ети правила можно закинуть в Specification
if (favoriteCustomerSpecification.IsSatisfiesBy(customer))
{
// здесь вычитаем 15%
}
...В случаи когда нам понадобиться добавить новый Item для Order, то мы просто добавим Item с ключем от Order в базу напрямую(без order.AddItem(item)).