We have to avoid mutations, we have to use encapsulation to protect our domain state from changes made to other services without checking business rules.
Instead of:
public string Name { get; set; }
Use:
// The property is initialized in the constructor
public string Name { get; }
// In C#9 we can use init
public string Name { get; init; }
We have to avoid classes void of behavior in domain models.