Простого пути не существует.В случае API ObjectContext вы можете переопределить SaveChanges
в вашей реализации ObjectContext
:
public override int SaveChanges(SaveOptions options)
{
var entities = ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified)
.Select(e => e.Entity)
.OfType<YourEntityType>();
foreach (var entity in entities)
{
// Here you can validate your property - entity is of your type
}
return base.SaveChanges(options);
}
Проблема в том, что EF не поддерживает пользовательские скалярные типы и не поддерживает перечисления вслучай замены ваших значений на int.
Другой способ - принудительно выполнить это с помощью пользовательской проверки в бизнес-логике.