Классы LinqToSQL являются частичными классами, поэтому у вас может быть дополнительный файл, который реализует интерфейс для класса LinqToSQL.
Просто добавьте это в новый файл, используя то же имя класса, что и ваш класс LinqToSQL:
public partial class LinqToSqlClass : IFoo {
public void Foo() {
// implementation
}
}
Если ваш класс LinqToSQL уже реализует необходимые пропорции, вы должны иметь возможность включать только объявление интерфейса.
Чтобы ответить на комментарий об использовании свойства LinqToSQL с другим именем для реализации интерфейса, вы можете использовать приведенный выше синтаксис и просто вызвать свойство LinqToSQL из свойства интерфейса, или, чтобы сохранить чистоту, используйте явную реализацию:
public partial class LinqToSqlClass : IFoo {
void IFoo.Foo() {
return this.LinqFoo(); // assumes LinqFoo is in the linq to sql mapping
}
}
Используя этот синтаксис, клиенты, обращающиеся к вашему классу, не увидят избыточное свойство, используемое только для реализации интерфейса (оно будет невидимым, если объект не приведен к этому интерфейсу)