Мы используем sqlmetal для создания нашего DBML, запускаем его через преобразование, затем используем sql metal для создания классов DataContext — кроме того, я хочу автоматически генерировать некоторую проверку для сущностей на основе некоторых метаданных, которые мы храним в базе данных о каждая сущность и ее атрибуты. Например, если у объекта есть то, что я знаю как поле «EmailAddress» метатипа «Email», я хотел бы создать метод OnValidate для объекта электронной почты, чтобы проверить, соответствует ли он моему регулярному выражению. Это все прекрасно и денди, и я могу сделать это в другом файле:
public partial class MYENTITY
{
partial void OnValidate(System.Data.Linq.ChangeAction action)
{
if(action != System.Data.Linq.ChangeAction.Delete)
{
//check the validity of my email field or anything else
}
}
}
Как я могу сделать это, по-прежнему предоставляя разработчикам, которые хотят использовать этот DataContext, возможность подключать свою собственную логику к методу OnValidate для этой сущности? В нашей ситуации это будет бизнес-логика, специфичная для разрабатываемого приложения. Дополнения, которые я описал выше, являются лишь мерами предосторожности, гарантирующими, что данные, поступающие в базу данных, соответствуют моим ожиданиям.
Спасибо за любую помощь. Новичок здесь, так что извиняюсь, если что-то не так.