Я не думаю, что шаблон EF t4 POCO был разработан для такого сценария.Не рекомендуется редактировать файл вручную, так как вы потеряете свои изменения при следующем создании POCO.
Так что вам остается изменить шаблон.Но это не так уж и плохо, потому что вы можете изменить шаблон так, чтобы он имел другой выход, только если таблица и поле соответствуют тем, которые вы указали выше.
Например, в свой шаблон t4 я добавил это:
bool isRequired = !edmProperty.Nullable;
if (isRequired && entity.Name == "Adjustment" && propertyName == "AdjustmentNumber")
{
isRequired = false;
}
if (!isRequired && entity.Name == "Order" && propertyName == "RequiredDate")
{
isRequired = true;
}
<# if (isRequired) { #> [Required]
<# } #>
Эта модификация позволяет мне добавлять флаг [Обязательный] для каждого поля, в столбце которого есть NOT NULL в базе данных,за исключением двух упомянутых полей (не установлено обязательным, поскольку пользовательский интерфейс не позволяет вводить эти поля).
Довольно просто иметь определенные правила для определенных полей, которые в некоторой степени отличаются от нормы.