/// <summary> /// Registers the Entity Framework Core stores services in the DI container and /// configures BpmNet to use the Entity Framework Core entities by default. /// </summary> /// <param name="builder">The services builder used by BpmNet to register new services.</param> /// <param name="configuration">The configuration delegate used to configure the Entity Framework Core services.</param> /// <remarks>This extension can be safely called multiple times.</remarks> /// <returns>The <see cref="BpmNetCoreBuilder"/>.</returns> public static BpmNetCoreBuilder UseEntityFrameworkCore(this BpmNetCoreBuilder builder, Action <BpmNetEntityFrameworkCoreBuilder> configuration) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } configuration(builder.UseEntityFrameworkCore()); return(builder); }
/// <summary> /// Registers the Entity Framework Core stores services in the DI container and /// configures BpmNet to use the Entity Framework Core entities by default. /// </summary> /// <param name="builder">The services builder used by BpmNet to register new services.</param> /// <remarks>This extension can be safely called multiple times.</remarks> /// <returns>The <see cref="BpmNetEntityFrameworkCoreBuilder"/>.</returns> public static BpmNetEntityFrameworkCoreBuilder UseEntityFrameworkCore(this BpmNetCoreBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.Services.AddMemoryCache(); builder.SetDefaultDefinitionEntity <BpmNetDefinition>(); builder.SetDefaultProcessEntity <BpmNetProcess>(); builder.SetDefaultProcessInstanceTypeEntity <BpmNetProcessInstance>(); builder.SetDefaultProcessInstanceFlowTypeEntity <BpmNetInstanceFlow>(); builder.SetDefaultHistoryFlowTypeEntity <BpmNetHistory>(); builder.ReplaceStoreResolver <BpmNetStoreResolver>(); builder.Services.TryAddScoped(typeof(BpmNetDefinitionStore <,>)); builder.Services.TryAddScoped(typeof(BpmNetProcessStore <,>)); builder.Services.TryAddScoped(typeof(BpmNetProcessInstanceStore <, ,>)); builder.Services.TryAddScoped(typeof(BpmNetHistoryStore <,>)); return(new BpmNetEntityFrameworkCoreBuilder(builder.Services)); }