In a question about Best practices for C# pattern validation, the highest voted answer says:
I tend to perform all of my validation in the constructor
How exactly would this work if you want to validate in the constructor of your Entity Framework generated model class?
It wouldn't work in this context because EF requires the properties of the entity class be public otherwise it can't instantiate it.
But you're welcome to use immutable objects further in your code.