2
0
mirror of https://github.com/esiur/esiur-dotnet.git synced 2025-06-27 13:33:13 +00:00
This commit is contained in:
2020-04-27 08:32:10 +03:00
parent 836a1fdeae
commit 443623d8df
16 changed files with 207 additions and 147 deletions

View File

@ -60,11 +60,11 @@ namespace Esyur.Stores.EntityCore
}
public static DbContextOptionsBuilder UseEsyur(this DbContextOptionsBuilder optionsBuilder,
DbContext context,
//DbContext context,
string name = null,
IResource parent = null,
IPermissionsManager manager = null
IResource parent = null,
IPermissionsManager manager = null,
Func<DbContext> dbContextProvider = null
)
{
var extension = optionsBuilder.Options.FindExtension<EsyurExtensionOptions>();
@ -72,10 +72,10 @@ namespace Esyur.Stores.EntityCore
if (extension == null)
{
var store = Warehouse.New<EntityStore>(name, null, parent, manager);
var store = Warehouse.New<EntityStore>(name, null, parent, manager, new { Options = optionsBuilder, DbContextProvider = dbContextProvider });
extension = new EsyurExtensionOptions(store);
store.Options = extension;
store.DbContext = context;
//store.Options = optionsBuilder;
//store.DbContext = context;
}
((IDbContextOptionsBuilderInfrastructure)optionsBuilder).AddOrUpdateExtension(extension);
@ -86,22 +86,24 @@ namespace Esyur.Stores.EntityCore
public static DbContextOptionsBuilder<TContext> UseEsyur<TContext>(
this DbContextOptionsBuilder<TContext> optionsBuilder,
DbContext context,
//DbContext context,
string name = null,
IResource parent = null,
IPermissionsManager manager = null)
IPermissionsManager manager = null,
Func<DbContext> dbContextProvider = null)
where TContext : DbContext
{
var extension = optionsBuilder.Options.FindExtension<EsyurExtensionOptions>();
if (extension == null)
{
var store = Warehouse.New<EntityStore>(name, null, parent, manager);
var store = Warehouse.New<EntityStore>(name, null, parent, manager, new { Options = optionsBuilder, DbContextProvider = dbContextProvider });
extension = new EsyurExtensionOptions(store);
store.Options = extension;
store.DbContext = context;
//store.Options = optionsBuilder;
//store.Options = extension;
//store.DbContext = context;
}