а ети правила можно закинуть в Specification
if (favoriteCustomerSpecification.IsSatisfiesBy(customer))
{
// здесь вычитаем 15%
}
...В случаи когда нам понадобиться добавить новый Item для Order, то мы просто добавим Item с ключем от Order в базу напрямую(без order.AddItem(item)).
А вообще, если вы используете пагинацию, то значит вам нужны данные для отображения информации, а для этого тянуть из базы агрегаты не очень хорошая практика... Замените их на ViewModel и эти простые DTO'шки тяните из БД