Browse Source

Mongodb module enhancements.

pull/272/head
Halil İbrahim Kalkan 8 years ago
parent
commit
167a99cf81
  1. 4
      src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs
  2. 6
      src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/AbpMongoDbContext.cs
  3. 2
      src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DependencyInjection/MongoDbRepositoryRegistrar.cs
  4. 11
      src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/IAbpMongoDbContext.cs
  5. 2
      src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/IMongoDatabaseProvider.cs
  6. 2
      src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/MongoDbDatabaseApi.cs
  7. 2
      src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDatabaseProvider.cs

4
src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs

@ -10,7 +10,7 @@ using Volo.Abp.MongoDB;
namespace Volo.Abp.Domain.Repositories.MongoDB
{
public class MongoDbRepository<TMongoDbContext, TEntity> : RepositoryBase<TEntity>, IMongoDbRepository<TEntity>
where TMongoDbContext : AbpMongoDbContext
where TMongoDbContext : IAbpMongoDbContext
where TEntity : class, IEntity
{
public virtual string CollectionName => DatabaseProvider.DbContext.GetCollectionName<TEntity>();
@ -82,7 +82,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB
}
public class MongoDbRepository<TMongoDbContext, TEntity, TKey> : MongoDbRepository<TMongoDbContext, TEntity>, IMongoDbRepository<TEntity, TKey>
where TMongoDbContext : AbpMongoDbContext
where TMongoDbContext : IAbpMongoDbContext
where TEntity : class, IEntity<TKey>
{
public MongoDbRepository(IMongoDatabaseProvider<TMongoDbContext> databaseProvider)

6
src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/AbpMongoDbContext.cs

@ -4,7 +4,7 @@ using System.Linq;
namespace Volo.Abp.MongoDB
{
public abstract class AbpMongoDbContext
public abstract class AbpMongoDbContext : IAbpMongoDbContext
{
private static readonly MongoEntityMapping[] EmptyTypeList = new MongoEntityMapping[0];
@ -23,12 +23,12 @@ namespace Volo.Abp.MongoDB
return EmptyTypeList;
}
public string GetCollectionName<T>()
public virtual string GetCollectionName<T>()
{
return GetMapping<T>().CollectionName;
}
private MongoEntityMapping GetMapping<T>()
protected virtual MongoEntityMapping GetMapping<T>()
{
var mapping = _mappingsByType.Value.GetOrDefault(typeof(T));
if (mapping == null)

2
src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DependencyInjection/MongoDbRepositoryRegistrar.cs

@ -15,7 +15,7 @@ namespace Volo.Abp.MongoDB.DependencyInjection
protected override IEnumerable<Type> GetEntityTypes(Type dbContextType)
{
var mongoDbContext = (AbpMongoDbContext)Activator.CreateInstance(dbContextType);
var mongoDbContext = (IAbpMongoDbContext)Activator.CreateInstance(dbContextType);
return mongoDbContext.GetMappings().Select(m => m.EntityType);
}

11
src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/IAbpMongoDbContext.cs

@ -0,0 +1,11 @@
using System.Collections.Generic;
namespace Volo.Abp.MongoDB
{
public interface IAbpMongoDbContext
{
IReadOnlyList<MongoEntityMapping> GetMappings();
string GetCollectionName<T>();
}
}

2
src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/IMongoDatabaseProvider.cs

@ -3,7 +3,7 @@
namespace Volo.Abp.MongoDB
{
public interface IMongoDatabaseProvider<TMongoDbContext>
where TMongoDbContext : AbpMongoDbContext
where TMongoDbContext : IAbpMongoDbContext
{
TMongoDbContext DbContext { get; }

2
src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/MongoDbDatabaseApi.cs

@ -2,7 +2,7 @@
namespace Volo.Abp.Uow.MongoDB
{
public class MongoDbDatabaseApi: IDatabaseApi
public class MongoDbDatabaseApi : IDatabaseApi
{
public IMongoDatabase Database { get; }

2
src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDatabaseProvider.cs

@ -5,7 +5,7 @@ using Volo.Abp.MongoDB;
namespace Volo.Abp.Uow.MongoDB
{
public class UnitOfWorkMongoDatabaseProvider<TMongoDbContext> : IMongoDatabaseProvider<TMongoDbContext>
where TMongoDbContext : AbpMongoDbContext
where TMongoDbContext : IAbpMongoDbContext
{
public TMongoDbContext DbContext { get; }

Loading…
Cancel
Save