Как использовать новый шаблон Subsonic 3.0 IRepository - PullRequest
0 голосов
/ 23 июня 2009

Может кто-нибудь (надеюсь, Роб) объяснить, как реализовать новый шаблон SubSonicRepository <>? Я использовал его со старой версией и шаблонами MVC (в веб-формах), используя следующую инициализацию.

    public IRepository<StaffingPosition> _StaffingPositionsRepository;

    public  StaffingBase()
    {
        _StaffingPositionsRepository = new SubSonicRepository<StaffingPosition>();
    }
    public StaffingBase(IRepository<StaffingPosition> staffingpositionsRepo)
    {
        _StaffingPositionsRepository = staffingpositionsRepo;
    }

Обратите внимание, что моя служба WCF наследует этот класс для простоты доступа.
Теперь SubSonicRepository () требует аргумент IQuerySurface, и я не уверен, что это лучший способ сделать это. Я действительно копаю модель IRepository и хочу попытаться придерживаться ее, если это возможно ... То есть, если у кого-то нет лучших идей. Спасибо!

1 Ответ

2 голосов
/ 23 июня 2009

Шаблоны генерируют новый класс, который реализует IQuerySurface, имя которого вы можете настроить в основном файле .tt (обычно что-то вроде NorthwindDb). Обычно все, что нужно, это передать новый экземпляр этого класса в хранилище:

_StaffingPositionsRepository = new SubSonicRepository<StaffingPosition>(new StaffingDB());
...