Я думаю, что лучший вариант - не связываться с классом, сгенерированным EF.Вместо этого определите свой собственный частичный класс:
[MetadataType(typeof(Person_Validation))]
public partial class Person
{
//rest of class may be empty
}
Вы можете сделать это в том же файле, что и класс Person_Validation, если хотите.
Это не автоматически, но безопасно (ваши изменения выиграныне теряйся)Этот подход будет работать с любой структурой генерации кода (которая использует частичные классы), а не только с EF.