Go to file
Christian Hissibini e579136136 Add some 💅 to the readme
2018-12-07 00:35:03 -05:00
PoweredSoft.Data.Core 1.0.2 2018-12-06 23:13:14 -06:00
PoweredSoft.Data.EntityFrameworkCore 1.0.2 2018-12-06 23:13:14 -06:00
PoweredSoft.Data.EntityFrameworkCore.Test added unit testing. 2018-11-23 10:35:40 -06:00
.gitattributes Add .gitignore and .gitattributes. 2018-11-23 01:22:02 -06:00
.gitignore Add .gitignore and .gitattributes. 2018-11-23 01:22:02 -06:00
Data.sln added unit testing. 2018-11-23 10:35:40 -06:00
LICENSE.md Add project files. 2018-11-23 01:22:05 -06:00
README.md Add some 💅 to the readme 2018-12-07 00:35:03 -05:00

IDbContextFactory

The goal of this project is to help, fill the gap of supporting multiple ORM's in DynamicQuery, and possibly more projects in the future.

One of the most obvious reason is to be able to execute async/await operations on the context without, the executing library to be dependant on the ORM Framework such as (EF Core, EF6).

Getting Started

Install nuget package to your awesome project.

Full Version NuGet NuGet Install
PoweredSoft.Data.Core NuGet PM> Install-Package PoweredSoft.Data.Core
PoweredSoft.Data.EntityFrameworkCore NuGet PM> Install-Package PoweredSoft.Data.EntityFrameworkCore

In your application you may do the following

public class Startup
{
    public void ConfigureServices(IServiceCollection services) 
    {
        services.AddPoweredSoftDataServices();
    }
}

Then somewhere else.

public class SomeClass
{
    private readonly IDbContextFactory contextFactory;
    public SomeClass(IDbContextFactoryProvider dbContextFactoryProvider)
    {
        contextFactory = dbContextFactoryProvider.GetContextFactory(typeof(YourFavoriteContext));
    }
}

AsyncQueryableFactory

Also as the same kind of goal, will slowly add support for a non dependant to orm async method.

public interface IAsyncQueryableFactory
{
    Task<T> FirstOrDefaultAsync<T>(IQueryable<T> queryable, CancellationToken cancellationToken = default(CancellationToken));
    Task<T> FirstOrDefaultAsync<T>(IQueryable<T> queryable, Expression<Func<T, bool>> predicate, CancellationToken cancellationToken = default(CancellationToken));
    Task<List<T>> ToListAsync<T>(IQueryable<T> queryable, CancellationToken cancellationToken = default(CancellationToken));
    Task<int> CountAsync<T>(IQueryable<T> queryable, CancellationToken cancellationToken = default(CancellationToken));
    Task<long> LongCountAsync<T>(IQueryable<T> queryable, CancellationToken cancellationToken = default(CancellationToken));
}