using System;
using System.Threading;
using System.Threading.Tasks;
using Dpz.Core.Entity.Base;
using MongoDB.Driver;
namespace Dpz.Core.MongodbAccess;
/// <summary>
/// MongoDB 索引初始化服务。
/// </summary>
public interface IMongoIndexInitializer
{
/// <summary>
/// 确保实体对应集合索引与代码定义一致。
/// </summary>
Task EnsureAsync<T>(
IMongoCollection<T> collection,
CancellationToken cancellationToken = default
)
where T : IBaseEntity;
/// <summary>
/// 根据运行时实体类型确保索引与代码定义一致。
/// </summary>
Task EnsureForTypeAsync(
Type entityType,
string connectionString,
CancellationToken cancellationToken = default
);
/// <summary>
/// 重置初始化状态
/// </summary>
Task ResetAsync(CancellationToken cancellationToken = default);
}
评论加载中...