Linq2sql: как «наследовать» контекст данных от пользовательского интерфейса? - PullRequest
0 голосов
/ 23 ноября 2010

После генерации класса DataContext из моей БД у меня есть класс CMCoreDataClassesDataContext.

Для целей модульного тестирования я хотел бы, чтобы этот класс реализовывал мой специальный интерфейс, ICMCoreDataClassesDataContext.Я мог бы изменить класс designer.cs, но его нужно будет обновлять каждый раз при повторной генерации.

Есть ли какое-либо решение, позволяющее пометить автоматически сгенерированный класс как унаследованный от моего интерфейса?Я вижу возможность изменить базовый класс, но как я могу указать базовый интерфейс?

PS Можно ли создать базовый класс, который будет унаследован от System.Data.Linq.DataContext И моего интерфейса (ICMCoreDataClassesDataContext) и указать его как базовый класс для автоматически сгенерированного?Это не работает из-за необходимости объявлять требуемые методы как абстрактные в базовом классе (это нормально) и помечать их как «переопределить» в сгенерированном.

PS .NET 3.5, Linq2sql

1 Ответ

3 голосов
/ 23 ноября 2010

Сгенерированный текст данных представляет собой частичный класс . Вы можете добавить отдельный файл .cs со следующим:

public partial class MyDataContext : IMyInterface
{} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...