| | | 1 | | #region Usings |
| | | 2 | | using ZhEaIsNsAaBn.DbSeeder.Registrations; |
| | | 3 | | using ZhEaIsNsAaBn.DbSeeder.SqlServer; |
| | | 4 | | #endregion |
| | | 5 | | |
| | | 6 | | // ReSharper disable once CheckNamespace |
| | | 7 | | namespace Microsoft.Extensions.DependencyInjection; |
| | | 8 | | |
| | | 9 | | /// <summary>Seeder-builder entry point of the SQL Server seed provider.</summary> |
| | | 10 | | public static class DbSeederSqlServerRegistration |
| | | 11 | | { |
| | | 12 | | /// <summary> |
| | | 13 | | /// Uses SQL Server for the seed migrations of this context: <c>sp_getapplock</c>, bulk copy + <c>UPDATE</c> / <c>IN |
| | | 14 | | /// (no <c>MERGE</c>), explicit identity values kept, set-based deletes, foreign-key blockers from the database. Onl |
| | | 15 | | /// The context must use <c>UseSqlServer( … )</c>. |
| | | 16 | | /// </summary> |
| | | 17 | | /// <typeparam name="TDbContext">The context type.</typeparam> |
| | | 18 | | /// <param name="builder">The seeder builder.</param> |
| | | 19 | | /// <returns>The same builder.</returns> |
| | | 20 | | /// <exception cref="ArgumentNullException"><paramref name="builder"/> is <see langword="null"/>.</exception> |
| | | 21 | | /// <example><code>services.AddDbSeeder<AppDbContext>().FromAssembly( assembly ).UseSqlServer().Build();</code |
| | | 22 | | public static IDbSeederBuilder<TDbContext> UseSqlServer< TDbContext >( this IDbSeederBuilder<TDbContext> builder ) |
| | | 23 | | where TDbContext : DbContext |
| | | 24 | | { |
| | 530 | 25 | | ArgumentNullException.ThrowIfNull( builder ); |
| | | 26 | | |
| | 530 | 27 | | return builder.UseProvider( _ => SqlServerSeedDatabaseProvider.Instance ); |
| | | 28 | | } |
| | | 29 | | } |