В вашем коде должно быть как минимум 3 слоя объектов: ViewModel, Dto и Entities.
Каждый слой должен видеть только слой непосредственно под ним.
Итак, Ваш сервисный уровень может читать сущности из вашего уровня данных, но если он предоставляет какие-либо объекты, они должны быть в Dto.
Тогда ваш уровень представления (UI / API et c) будет читать из сервисный слой (DTO) и выставьте его объекты как ViewModels.
Во многих случаях это означает, что все 3 объекта (Entity, Dto & ViewModel) имеют одинаковые повторяющиеся свойства, но этого следует ожидать, особенно в небольших или новых проектах.
Это должно решить ваши проблемы с именами.
Уровень данных: XXXEntity
Уровень обслуживания: XXXDto
Уровень представления: XXXViewModel
Это объяснение очень упрощено, и вы можете решить эту проблему различными способами (например, вы можете использовать пространства имен вместо суффиксов классов).