ASP.NET Как реализовать ObjectDataSource и IRepository - PullRequest
1 голос
/ 07 февраля 2010

Я хотел бы использовать ObjectDataSource с экземпляром, который реализует IRepository. Я также хотел бы иметь возможность гибко изменять реализацию IRepository посредством внедрения зависимостей и переключаться между тем, который использует ORM и подделку.

В настоящее время я не вижу способа сделать это, потому что ODS указывает на класс, а не на экземпляр. Есть ли способ обойти это?

Я смотрю вдоль линии наличия класса источника данных, который вызывает фабрику, которая создает соответствующую реализацию IRepository в зависимости от настроек конфигурации. Однако мне придется создавать реализацию каждый раз, когда вызывается этот класс источника данных, что может быть дорого.

1 Ответ

0 голосов
/ 07 февраля 2010

Я не на 100% уверен, что вы пытаетесь сделать, но я думаю, что вам придется обрабатывать "ing" события ODS : ObjectCreating, ObjectInserting и т. Д. Обрабатывая эти события Вы можете использовать любую стратегию доступа к данным, которую вы хотите. Конечно, если вы пойдете по этому пути, тогда ODS добавит мало значения вашему приложению.

Мануэль Абадия написал превосходную серию статей , в которых обсуждаются ограничения контроля над ОРВ.

...