public CrudRepository(IMongoDatabase database, IEntityKeyAccossor keyAccossor) { _database = database; _keyAccossor = keyAccossor; _tableName = typeof(TEntity).Name; Collection.EnsureIndexes(); }
public ICrudRepository <TEntity, TKey> Get <TEntity, TKey>(IEntityKeyAccossor keyAccossor) where TEntity : class, new() { var t = typeof(TEntity); if (_crudRepositories.ContainsKey(t)) { return(_crudRepositories[t] as ICrudRepository <TEntity, TKey>); } var name = t.Name.ToLower(); var attribute = t.GetCustomAttribute(typeof(ReadOptimizedAttribute)); var repo = attribute != null ? new DocumentCrudRepository <TEntity, TKey>(_repository.Init <List <TEntity> >(Path.Combine(_conn, name + ".json")).Result, keyAccossor) : new DocumentCollectionCrudRepository <TEntity, TKey>(_repository.InitCollection <TEntity>(Path.Combine(_conn, name)).Result, keyAccossor) as ICrudRepository <TEntity, TKey>; _crudRepositories.Add(t, repo); return(repo); }
public DbSetRepository(DbContext context, IEntityKeyAccossor keyAccossor) { _repository = context.Set <TEntity>(); _context = context; _keyAccossor = keyAccossor; }
public DocumentCrudRepository(IDocument <List <TEntity> > collection, IEntityKeyAccossor keyAccossor) { _keyAccossor = keyAccossor; Collection = collection; }
public CrudRepositoryProxy(DocumentRepositoryFactory factory, IEntityKeyAccossor keyAccossor) { _repository = factory.Get <TEntity, TKey>(keyAccossor); }