У меня есть проект ABP 1.0.0, который подключается к SQL Server.Сейчас я пытаюсь расширить это приложение, чтобы получить дополнительные данные из Teradata.Я создал новый проект EF и сослался на Teradata.Client.Provider
вместо EntityFramework.SqlServer
.
. В новом проекте у меня есть новый класс TdContext
, в котором есть оба желаемых объекта DbSet Teradata, построитель модели, который отображаетсущности к схеме / таблице и обычные открытые конструкторы, где я указываю строку подключения.Я не уверен, что providerName, поэтому я угадал "Teradata.Client.Provider".
Когда я вызываю службу приложений, которая пытается внедрить IRepository<ATerraDataTable>
, ABP выдает универсальный вариант: Произошла ошибка.
Я не уверен, что терпит неудачу.Кроме имя провайдера, я не могу найти нигде в ABP, где я говорю, чтобы создать экземпляр клиента Teradata.Кроме того, я не могу вспомнить, как IRepository<TEntity>
знает, какой DbContext использовать.
Мой введенный IRepository<ASqlDataTable>
работает нормально.Когда я писал это решение 3 года назад, у меня был только один DBContext для SQL Server, я не особо задумывался над тем, как Repository узнает, какое соединение использовать.Документы ABP предполагают, что UOW делает это, но они не дают достаточно подробностей для меня.