Keep your business objects at the business level only. Initially, DTO may seem redundant, but as the project grows, you will begin to notice the differences between them: DTOs are much flatter, and serializable types and entities have much more complex relationships and power, they carry more application logic than DTOs.
DTOs are simple data, and for this reason they are suitable for transferring this data between layers. They do not have to be a direct representation of your entities, and for this reason they can improve compatibility when you need to change your BLL, but maintain service contracts.
The only exception may be the interaction of DAL and BLL, where the DAL will access objects directly. But even here, DTO could be used to absorb the effects of ORM.
source share