Вы используете автоматически сгенерированные объекты? В таком случае обычной практикой является создание второго файла в том же проекте, где определена сущность, и создание его второй частичной части:
public partial Task : IDataErrorInfo
{
...
}
Причина, по которой интерфейс реализован в другой части, состоит в том, что начальная часть автоматически генерируется некоторым API (Linq-to-sql, EF и т. Д.) И этот API может повторно генерировать код каждый раз, когда вы вносите какие-либо изменения. Эта регенерация удалит ваши изменения, но если вы разместите их в своей частичной части, изменения не будут удалены.