IDataInfo требует реализации двух вещей
- Свойство индексатора
- Свойство ошибки, которое имеет значение null или string. Пусто, когда все в порядке. В противном случае это описание ошибки.
Если вы хотите вручную проверить вашу сущность перед сохранением, вы можете просто проверить свойство .Error и делать сохранение только тогда, когда .Error имеет значение null или пусто. Я не знаю, каким образом EF может автоматически использовать IDataErrorInfo. Однако, когда ваш пользовательский интерфейс реализован правильно, у пользователя не должно быть возможности сохранять данные, пока все не будет в порядке. Вы можете реализовать это с помощью свойства CanExecuteChanged команды (делайте его истинным только тогда, когда .Error имеет значение null или пусто).