Я использую SQLite для через интерфейс ISQLite который осуществляется по стандартному пути через [сборка: Dependency (TypeOf (SQLite_iOS))] ...Prism Xamarin 6,2 IDependencyService в службе
, но я стараюсь для реализации модели доступа к данным через Repository шаблон
Мой класс BaseRepository выглядит следующим образом
public abstract class BaseRepository<TEntity, TKey> : IRepository<TEntity, TKey> where TEntity : class, new()
{
private readonly SQLiteAsyncConnection _connection;
protected BaseRepository(ISQLite sqlite)
{
_connection = sqlite.GetAsyncConnection();
_connection.CreateTableAsync<TEntity>().Wait();
}
для каждой модели у меня есть реализация класса BaseRepository
public class SectorsRepository : BaseRepository<Sectors, int>, ISectorsRepository
{
public SectorsRepository(ISQLite context)
: base(context)
{
}
}
Я сейчас пытаюсь зарегистрировать каждый класс репозитория. Очевидно, что это не работает, поскольку у меня нет экземпляра dependencyService;
protected override void RegisterTypes()
{
Container.RegisterType<ISectorsRepository, SectorsRepository>(new InjectionConstructor(dependencyService.Get<ISQLite>()));
}
Есть идеи?
спасибо
Спасибо! Не знал, что призма автоматически разрешает их. В конце мой код преобразован в: Container.RegisterType(); –
James