Ciao,
se sul progetto di Visual Studio, sul file file dbml fai view code, dovrebbe crearti un file dove puoi affiacare classi partial a quelle già autogenerate. Per esempio, se hai la classe Product, puoi definirla a tua volta implementando l'interfaccia
public partial class Product : IDataErrorInfo
{
// ... implementazione IDataErrorInfo
}
Grazie poi ai partial method hai già a disposizione definiti ma non implementati (puoi opzionalmente farlo) i metodi On[nome proprietà]Changing e On[nome proprietà]Changed.
partial void OnDescriptionChanging(decimal value)
{
}
partial void OnDescriptionChanged()
{
}
Ti basta definire quindi il metodo e mettere la logica di validazione che va poi a popolare il dictionary o quello che vuoi per mantenere la lista degli errori.
Insomma una volta fatta la classe partial il resto è tutto uguale alle implementazioni che trovi