arolariu.Backend.Core.Auth.Brokers
arolariu.Backend.Core.Auth
arolariu.Backend.Core.Auth.Brokers Namespace
Classes
AuthDbContext Class
Provides the Entity Framework database context for authentication and authorization data. This context manages user accounts, roles, and related security information using ASP.NET Core Identity.
public class AuthDbContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext<arolariu.Backend.Core.Auth.Models.AuthenticatedUser, arolariu.Backend.Core.Auth.Models.AuthenticatedUserRole, System.Guid>
Inheritance System.Object 🡒 Microsoft.EntityFrameworkCore.DbContext 🡒 Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserContext<AuthenticatedUser,System.Guid,Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>,Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>,Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>,Microsoft.AspNetCore.Identity.IdentityUserPasskey<System.Guid>> 🡒 Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext<AuthenticatedUser,AuthenticatedUserRole,System.Guid,Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>,Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>,Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>,Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>,Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>,Microsoft.AspNetCore.Identity.IdentityUserPasskey<System.Guid>> 🡒 Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext<AuthenticatedUser,AuthenticatedUserRole,System.Guid,Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>,Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>,Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>,Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>,Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>> 🡒 Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext<AuthenticatedUser,AuthenticatedUserRole,System.Guid> 🡒 AuthDbContext
Example
// Usage in dependency injection
services.AddDbContext<AuthDbContext>(options =>
options.UseSqlServer(connectionString));
// Usage in services
public class UserService
{
private readonly AuthDbContext _context;
public UserService(AuthDbContext context)
{
_context = context;
}
}
Remarks
This database context extends IdentityDbContext to provide: - User account management with extended profile fields - Role-based access control with custom roles - ASP.NET Core Identity integration for authentication - Guid-based primary keys for enhanced security - Support for Entity Framework migrations and schema management
Constructors
AuthDbContext() Constructor
Initializes a new instance of the AuthDbContext class without options. This parameterless constructor is required for Entity Framework migrations and design-time operations.
public AuthDbContext();
Remarks
This constructor is used by: - Entity Framework migration tools during database schema generation - Design-time operations like scaffolding and reverse engineering - Testing scenarios where options are configured separately - Third-party tools that require parameterless constructors
AuthDbContext(DbContextOptions<AuthDbContext>) Constructor
Initializes a new instance of the AuthDbContext class with the specified options. This constructor is used by dependency injection to provide database configuration.
public AuthDbContext(Microsoft.EntityFrameworkCore.DbContextOptions<arolariu.Backend.Core.Auth.Brokers.AuthDbContext> options);
Parameters
options Microsoft.EntityFrameworkCore.DbContextOptions<AuthDbContext>
The Microsoft.EntityFrameworkCore.DbContextOptions<> containing database connection and configuration settings. These options typically include connection string, database provider, and performance settings.
Remarks
The options parameter configures: - Database connection string and provider (SQL Server, PostgreSQL, etc.) - Connection retry policies for resilience - Performance settings like lazy loading and change tracking - Migration and schema management options