Я работаю с базой данных, которая по независящей от меня причине - я не могу изменить схему.
В этой базе данных есть поле "CertificateId", которое не может иметь значение NULL, однако полепо-прежнему считается необязательным.Когда я загружаю это поле в свою модель (я использую первый подход к БД), оно, конечно, помечается как необнуляемое, как вы можете видеть в designer.cs
[EdmScalarPropertyAttribute(EntityKeyProperty = false, IsNullable = false)]
[DataMemberAttribute()]
public global::System.String CertificateId
{
get
{
return _CertificateId;
}
set
{
OnCertificateIdChanging(value);
ReportPropertyChanging("CertificateId");
_CertificateId = StructuralObject.SetValidValue(value, false);
ReportPropertyChanged("CertificateId");
OnCertificateIdChanged();
}
}
Поскольку этополе является необязательным, иногда оно принимает значение NULL, что, очевидно, не проходит проверку.
Есть ли способ перегрузки этих свойств, которые генерируются автоматически?Я хотел бы иметь возможность проверить, является ли значение, переданное в свойство set, нулевым, и, если оно есть, установить его в пустую строку, прежде чем оно перейдет к проверке.
Или возможно ли переопределитьметаданные для этого свойства и для IsNullable установлено значение true?