Why this matters
Encapsulates internals and stabilizes public contracts.
Expose DTOs/ViewModels from API endpoints; avoid leaking persistence/domain entities directly.
Encapsulates internals and stabilizes public contracts.
Side-by-side examples engineers can pattern-match during review.
return Ok(orderEntity);return Ok(new OrderDto { Id = e.Id, Total = e.Total, Items = MapItems(e.Items) });return entity;return dto;From the same buckets as this rule.