34 lines
1.1 KiB
C#
Raw Normal View History

2025-04-15 17:57:47 +08:00
using Autofac.Core;
using Cassandra;
using Cassandra.Mapping;
using JiShe.CollectBus.Cassandra;
using JiShe.CollectBus.Cassandra.Mappers;
using Microsoft.Extensions.Options;
using System.Reflection;
using Volo.Abp;
using Volo.Abp.Modularity;
// ReSharper disable once CheckNamespace
namespace Microsoft.Extensions.DependencyInjection
{
public static class ApplicationInitializationContextExtensions
{
2025-04-16 16:12:38 +08:00
public static async Task UseCassandra(this ApplicationInitializationContext context)
2025-04-15 17:57:47 +08:00
{
var service = context.ServiceProvider;
var cassandraProvider = service.GetRequiredService<ICassandraProvider>();
2025-04-16 16:12:38 +08:00
await cassandraProvider.InitClusterAndSessionAsync();
2025-04-15 17:57:47 +08:00
}
}
public static class ServiceCollectionExtensions
{
public static void AddCassandra(this ServiceConfigurationContext context)
{
2025-04-16 16:12:38 +08:00
context.Services.AddTransient(typeof(ICassandraRepository<,>), typeof(CassandraRepository<,>));
context.Services.AddSingleton(new MappingConfiguration()
.Define(new CollectBusMapping()));
2025-04-15 17:57:47 +08:00
}
}
}