using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using PoweredSoft.Data.Core;
using PoweredSoft.Data.EntityFrameworkCore;
namespace Svrnty.CQRS.DynamicQuery.EntityFramework;
///
/// Extensions for configuring DynamicQuery with Entity Framework Core.
///
public static class DynamicQueryServicesBuilderExtensions
{
///
/// Uses Entity Framework Core for async queryable operations.
/// This replaces the default in-memory implementation with EF Core's async support.
///
/// The DynamicQuery services builder.
/// The builder for chaining.
public static DynamicQueryServicesBuilder UseEntityFramework(this DynamicQueryServicesBuilder builder)
{
// Remove in-memory implementation and add EF Core implementation
builder.Services.RemoveAll();
builder.Services.AddPoweredSoftEntityFrameworkCoreDataServices();
return builder;
}
}