Martin Fowler talks about the Domain Model where the Business Logic Layer contains classes that contain state and behaviour. As far as I am concerned this means:
1) Controller calls a class in the Business Layer, which returns a business object e.g. Car. The business object is then casted to a ViewModel. 2) Business Logic Layer calls the repository, which returns a business object e.g. Car 3) Repository calls Data Layer (Entity Framework), which returns a data object e.g. car.
Where would you put methods that use multiple objects e.g. Order and Order Item? I would normally use a Service class for this (I am use to anemic Domain Models) with a TransactionScope. Is all Business Logic contained in the Domain Objects?