Skip to content

New Features

Compare
Choose a tag to compare
@yv989c yv989c released this 24 Jun 23:44
· 18 commits to main since this release
d97c953

New Features

Allow Custom DI Service Provider (Closes #24)

EF allows you to provide a custom DI service provider by using the UseInternalServiceProvider api. Now you can register the services required by QueryableValues by using the AddQueryableValuesSqlServer extension method.

using BlazarTech.QueryableValues;

var internalServiceProviderServices = new ServiceCollection()
    .AddEntityFrameworkSqlServer()
    .AddQueryableValuesSqlServer();

var internalServiceProvider = internalServiceProviderServices.BuildServiceProvider();
var services = new ServiceCollection();

services.AddDbContext<SomeDbContext>(builder =>
{
    builder
        .UseInternalServiceProvider(internalServiceProvider)
        .UseSqlServer("ConnectionString", options =>
        {
            options.UseQueryableValues();
        });
});

var serviceProvider = services.BuildServiceProvider();
var dbContext = serviceProvider.GetRequiredService<SomeDbContext>();

Enumeration Type Support (Closes #33)

The extension method AsQueryableValues now has an overload that accepts an enumeration.

enum SomeEnum
{
    None,
    Value1,
    Value2,
    Value3
}

...

var values = new[]
{
    SomeEnum.None,
    SomeEnum.Value3
};

var results = (
    from e in dbContext.SomeEntity
    join v in dbContext.AsQueryableValues(values) on e.EnumValue equals v
    select e.Id
    )
    .ToList();

That's all for now. ✌️