/// <summary> /// Create an instance of <see cref="DbContext"/>. /// </summary> /// <param name="dbClient">The Redis database provider.</param> /// <returns>The database context.</returns> public IDbContext Create(IDatabase database) { var typeRepo = this.CreateTypeRepo(); var dbRecordBuilder = new DbRecordBuilder(typeRepo); var proxyStub = new DynamicProxyStub(typeRepo, database, dbRecordBuilder); var proxyGenerator = new DynamicProxyGenerator(typeRepo, proxyStub, database); return(new DbContext(typeRepo, dbRecordBuilder, proxyGenerator, database)); }
/// <summary> /// Initialize an instance of <see cref="DbContext"/>. /// </summary> /// <param name="typeRepository">The type repository.</param> /// <param name="dbRecordBuilder">The database record builder.</param> /// <param name="proxyGenerator">The proxy generator.</param> /// <param name="dbClient">The database client.</param> internal DbContext( TypeRepository typeRepository, DbRecordBuilder dbRecordBuilder, DynamicProxyGenerator proxyGenerator, IDatabase dbClient) { this.typeRepository = typeRepository; this.dbRecordBuilder = dbRecordBuilder; this.proxyGenerator = proxyGenerator; this.dbClient = dbClient; }