Частичные классы работают только в пределах одной сборки.Таким образом, у вас есть две возможности: определить правила проверки в той же сборке, что и классы модели, или не использовать DataAnnotations.В качестве альтернативы вы можете взглянуть на FluentValidation , позволяющий определять правила проверки в отдельной сборке и прекрасно интегрируемый с ASP.NET MVC.
Что касаетсяПредставления в вашем проекте MVC обеспокоены тем, что они никогда не должны работать с вашими модельными классами.Вы должны определить классы модели представления, которые специально адаптированы к потребностям каждого представления.Затем контроллер выполнит сопоставление между моделями и моделями представления. AutoMapper может быть использовано для облегчения этой задачи.Поэтому в основном все пользовательские данные, такие как обязательные поля и форматы даты и времени, должны быть проверены в модели представления и бизнес-правилах на уровне сервиса.