Browse Source

Enable nullable annotations for Volo.Abp.MemoryDb

pull/17549/head
liangshiwei 3 years ago
parent
commit
4b8ae1c061
  1. 2
      framework/src/Volo.Abp.MemoryDb/Microsoft/Extensions/DependencyInjection/AbpMemoryDbServiceCollectionExtensions.cs
  2. 2
      framework/src/Volo.Abp.MemoryDb/Volo.Abp.MemoryDb.csproj
  3. 4
      framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/MemoryDatabase.cs
  4. 8
      framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/MemoryDbRepository.cs
  5. 2
      framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/Utf8JsonMemoryDbSerializer.cs
  6. 2
      framework/src/Volo.Abp.MemoryDb/Volo/Abp/MemoryDb/DependencyInjection/MemoryDbRepositoryRegistrar.cs

2
framework/src/Volo.Abp.MemoryDb/Microsoft/Extensions/DependencyInjection/AbpMemoryDbServiceCollectionExtensions.cs

@ -7,7 +7,7 @@ namespace Microsoft.Extensions.DependencyInjection;
public static class AbpMemoryDbServiceCollectionExtensions
{
public static IServiceCollection AddMemoryDbContext<TMemoryDbContext>(this IServiceCollection services, Action<IAbpMemoryDbContextRegistrationOptionsBuilder> optionsBuilder = null)
public static IServiceCollection AddMemoryDbContext<TMemoryDbContext>(this IServiceCollection services, Action<IAbpMemoryDbContextRegistrationOptionsBuilder>? optionsBuilder = null)
where TMemoryDbContext : MemoryDbContext
{
var options = new AbpMemoryDbContextRegistrationOptions(typeof(TMemoryDbContext), services);

2
framework/src/Volo.Abp.MemoryDb/Volo.Abp.MemoryDb.csproj

@ -5,6 +5,8 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks>
<Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors>
<AssemblyName>Volo.Abp.MemoryDb</AssemblyName>
<PackageId>Volo.Abp.MemoryDb</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>

4
framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/MemoryDatabase.cs

@ -25,9 +25,9 @@ public class MemoryDatabase : IMemoryDatabase, ITransientDependency
public IMemoryDatabaseCollection<TEntity> Collection<TEntity>()
where TEntity : class, IEntity
{
return _sets.GetOrAdd(typeof(TEntity),
return (_sets.GetOrAdd(typeof(TEntity),
_ => _serviceProvider.GetRequiredService<IMemoryDatabaseCollection<TEntity>>()) as
IMemoryDatabaseCollection<TEntity>;
IMemoryDatabaseCollection<TEntity>)!;
}
public TKey GenerateNextId<TEntity, TKey>()

8
framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/MemoryDbRepository.cs

@ -192,7 +192,7 @@ public class MemoryDbRepository<TMemoryDbContext, TEntity> : RepositoryBase<TEnt
TriggerDomainEvents(entity);
}
public override async Task<TEntity> FindAsync(
public override async Task<TEntity?> FindAsync(
Expression<Func<TEntity, bool>> predicate,
bool includeDetails = true,
CancellationToken cancellationToken = default)
@ -340,14 +340,14 @@ public class MemoryDbRepository<TMemoryDbContext, TEntity, TKey> : MemoryDbRepos
return entity;
}
public virtual async Task<TEntity> FindAsync(TKey id, bool includeDetails = true, CancellationToken cancellationToken = default)
public virtual async Task<TEntity?> FindAsync(TKey id, bool includeDetails = true, CancellationToken cancellationToken = default)
{
return (await GetQueryableAsync()).FirstOrDefault(e => e.Id.Equals(id));
return (await GetQueryableAsync()).FirstOrDefault(e => e.Id!.Equals(id));
}
public virtual async Task DeleteAsync(TKey id, bool autoSave = false, CancellationToken cancellationToken = default)
{
await DeleteAsync(x => x.Id.Equals(id), autoSave, cancellationToken);
await DeleteAsync(x => x.Id!.Equals(id), autoSave, cancellationToken);
}
public virtual async Task DeleteManyAsync(IEnumerable<TKey> ids, bool autoSave = false, CancellationToken cancellationToken = default)

2
framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/Utf8JsonMemoryDbSerializer.cs

@ -21,6 +21,6 @@ public class Utf8JsonMemoryDbSerializer : IMemoryDbSerializer, ITransientDepende
public object Deserialize(byte[] value, Type type)
{
return JsonSerializer.Deserialize(value, type, Options.JsonSerializerOptions);
return JsonSerializer.Deserialize(value, type, Options.JsonSerializerOptions)!;
}
}

2
framework/src/Volo.Abp.MemoryDb/Volo/Abp/MemoryDb/DependencyInjection/MemoryDbRepositoryRegistrar.cs

@ -14,7 +14,7 @@ public class MemoryDbRepositoryRegistrar : RepositoryRegistrarBase<AbpMemoryDbCo
protected override IEnumerable<Type> GetEntityTypes(Type dbContextType)
{
var memoryDbContext = (MemoryDbContext)Activator.CreateInstance(dbContextType);
var memoryDbContext = (MemoryDbContext)Activator.CreateInstance(dbContextType)!;
return memoryDbContext.GetEntityTypes();
}

Loading…
Cancel
Save