diff --git a/src/Logitar.Identity.EntityFrameworkCore.SqlServer/Migrations/20240112010955_AlterUserPhoneColumnLengths.Designer.cs b/src/Logitar.Identity.EntityFrameworkCore.SqlServer/Migrations/20240112010955_AlterUserPhoneColumnLengths.Designer.cs
new file mode 100644
index 0000000..8215547
--- /dev/null
+++ b/src/Logitar.Identity.EntityFrameworkCore.SqlServer/Migrations/20240112010955_AlterUserPhoneColumnLengths.Designer.cs
@@ -0,0 +1,815 @@
+//
+using System;
+using Logitar.Identity.EntityFrameworkCore.Relational;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace Logitar.Identity.EntityFrameworkCore.SqlServer.Migrations
+{
+ [DbContext(typeof(IdentityContext))]
+ [Migration("20240112010955_AlterUserPhoneColumnLengths")]
+ partial class AlterUserPhoneColumnLengths
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "8.0.1")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.ActorEntity", b =>
+ {
+ b.Property("ActorId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ActorId"));
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("EmailAddress")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("Id")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("IsDeleted")
+ .HasColumnType("bit");
+
+ b.Property("PictureUrl")
+ .HasMaxLength(2048)
+ .HasColumnType("nvarchar(2048)");
+
+ b.Property("Type")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.HasKey("ActorId");
+
+ b.HasIndex("DisplayName");
+
+ b.HasIndex("EmailAddress");
+
+ b.HasIndex("Id")
+ .IsUnique();
+
+ b.HasIndex("IsDeleted");
+
+ b.HasIndex("Type");
+
+ b.ToTable("Actors", (string)null);
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.ApiKeyEntity", b =>
+ {
+ b.Property("ApiKeyId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ApiKeyId"));
+
+ b.Property("AggregateId")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("AuthenticatedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("CreatedBy")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("CreatedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("CustomAttributesSerialized")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("CustomAttributes");
+
+ b.Property("Description")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("ExpiresOn")
+ .HasColumnType("datetime2");
+
+ b.Property("SecretHash")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("TenantId")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("UpdatedBy")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("UpdatedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("Version")
+ .HasColumnType("bigint");
+
+ b.HasKey("ApiKeyId");
+
+ b.HasIndex("AggregateId")
+ .IsUnique();
+
+ b.HasIndex("AuthenticatedOn");
+
+ b.HasIndex("CreatedBy");
+
+ b.HasIndex("CreatedOn");
+
+ b.HasIndex("DisplayName");
+
+ b.HasIndex("ExpiresOn");
+
+ b.HasIndex("TenantId");
+
+ b.HasIndex("UpdatedBy");
+
+ b.HasIndex("UpdatedOn");
+
+ b.HasIndex("Version");
+
+ b.ToTable("ApiKeys", (string)null);
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.ApiKeyRoleEntity", b =>
+ {
+ b.Property("ApiKeyId")
+ .HasColumnType("int");
+
+ b.Property("RoleId")
+ .HasColumnType("int");
+
+ b.HasKey("ApiKeyId", "RoleId");
+
+ b.HasIndex("RoleId");
+
+ b.ToTable("ApiKeyRoles", (string)null);
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.CustomAttributeEntity", b =>
+ {
+ b.Property("CustomAttributeId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("CustomAttributeId"));
+
+ b.Property("EntityId")
+ .HasColumnType("int");
+
+ b.Property("EntityType")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("Key")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("Value")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ValueShortened")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.HasKey("CustomAttributeId");
+
+ b.HasIndex("Key");
+
+ b.HasIndex("ValueShortened");
+
+ b.HasIndex("EntityType", "EntityId");
+
+ b.HasIndex("EntityType", "EntityId", "Key")
+ .IsUnique();
+
+ b.ToTable("CustomAttributes", (string)null);
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.RoleEntity", b =>
+ {
+ b.Property("RoleId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("RoleId"));
+
+ b.Property("AggregateId")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("CreatedBy")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("CreatedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("CustomAttributesSerialized")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("CustomAttributes");
+
+ b.Property("Description")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DisplayName")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("TenantId")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("UniqueName")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("UniqueNameNormalized")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("UpdatedBy")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("UpdatedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("Version")
+ .HasColumnType("bigint");
+
+ b.HasKey("RoleId");
+
+ b.HasIndex("AggregateId")
+ .IsUnique();
+
+ b.HasIndex("CreatedBy");
+
+ b.HasIndex("CreatedOn");
+
+ b.HasIndex("DisplayName");
+
+ b.HasIndex("TenantId");
+
+ b.HasIndex("UniqueName");
+
+ b.HasIndex("UpdatedBy");
+
+ b.HasIndex("UpdatedOn");
+
+ b.HasIndex("Version");
+
+ b.HasIndex("TenantId", "UniqueNameNormalized")
+ .IsUnique()
+ .HasFilter("[TenantId] IS NOT NULL");
+
+ b.ToTable("Roles", (string)null);
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.SessionEntity", b =>
+ {
+ b.Property("SessionId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("SessionId"));
+
+ b.Property("AggregateId")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("CreatedBy")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("CreatedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("CustomAttributesSerialized")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("CustomAttributes");
+
+ b.Property("IsActive")
+ .HasColumnType("bit");
+
+ b.Property("IsPersistent")
+ .HasColumnType("bit");
+
+ b.Property("SecretHash")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("SignedOutBy")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("SignedOutOn")
+ .HasColumnType("datetime2");
+
+ b.Property("UpdatedBy")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("UpdatedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.Property("Version")
+ .HasColumnType("bigint");
+
+ b.HasKey("SessionId");
+
+ b.HasIndex("AggregateId")
+ .IsUnique();
+
+ b.HasIndex("CreatedBy");
+
+ b.HasIndex("CreatedOn");
+
+ b.HasIndex("IsActive");
+
+ b.HasIndex("IsPersistent");
+
+ b.HasIndex("SignedOutBy");
+
+ b.HasIndex("SignedOutOn");
+
+ b.HasIndex("UpdatedBy");
+
+ b.HasIndex("UpdatedOn");
+
+ b.HasIndex("UserId");
+
+ b.HasIndex("Version");
+
+ b.ToTable("Sessions", (string)null);
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.UserEntity", b =>
+ {
+ b.Property("UserId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("UserId"));
+
+ b.Property("AddressCountry")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("AddressFormatted")
+ .HasMaxLength(1279)
+ .HasColumnType("nvarchar(1279)");
+
+ b.Property("AddressLocality")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("AddressPostalCode")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("AddressRegion")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("AddressStreet")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("AddressVerifiedBy")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("AddressVerifiedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("AggregateId")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("AuthenticatedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("Birthdate")
+ .HasColumnType("datetime2");
+
+ b.Property("CreatedBy")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("CreatedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("CustomAttributesSerialized")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("CustomAttributes");
+
+ b.Property("DisabledBy")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("DisabledOn")
+ .HasColumnType("datetime2");
+
+ b.Property("EmailAddress")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("EmailAddressNormalized")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("EmailVerifiedBy")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("EmailVerifiedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("FirstName")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("FullName")
+ .HasMaxLength(767)
+ .HasColumnType("nvarchar(767)");
+
+ b.Property("Gender")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("HasPassword")
+ .HasColumnType("bit");
+
+ b.Property("IsAddressVerified")
+ .HasColumnType("bit");
+
+ b.Property("IsConfirmed")
+ .HasColumnType("bit");
+
+ b.Property("IsDisabled")
+ .HasColumnType("bit");
+
+ b.Property("IsEmailVerified")
+ .HasColumnType("bit");
+
+ b.Property("IsPhoneVerified")
+ .HasColumnType("bit");
+
+ b.Property("LastName")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("Locale")
+ .HasMaxLength(16)
+ .HasColumnType("nvarchar(16)");
+
+ b.Property("MiddleName")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("Nickname")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("PasswordChangedBy")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("PasswordChangedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("PasswordHash")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("PhoneCountryCode")
+ .HasMaxLength(2)
+ .HasColumnType("nvarchar(2)");
+
+ b.Property("PhoneE164Formatted")
+ .HasMaxLength(40)
+ .HasColumnType("nvarchar(40)");
+
+ b.Property("PhoneExtension")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("PhoneNumber")
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
+
+ b.Property("PhoneVerifiedBy")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("PhoneVerifiedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("Picture")
+ .HasMaxLength(2048)
+ .HasColumnType("nvarchar(2048)");
+
+ b.Property("Profile")
+ .HasMaxLength(2048)
+ .HasColumnType("nvarchar(2048)");
+
+ b.Property("TenantId")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("TimeZone")
+ .HasMaxLength(32)
+ .HasColumnType("nvarchar(32)");
+
+ b.Property("UniqueName")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("UniqueNameNormalized")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("UpdatedBy")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("UpdatedOn")
+ .HasColumnType("datetime2");
+
+ b.Property("Version")
+ .HasColumnType("bigint");
+
+ b.Property("Website")
+ .HasMaxLength(2048)
+ .HasColumnType("nvarchar(2048)");
+
+ b.HasKey("UserId");
+
+ b.HasIndex("AddressCountry");
+
+ b.HasIndex("AddressFormatted");
+
+ b.HasIndex("AddressLocality");
+
+ b.HasIndex("AddressPostalCode");
+
+ b.HasIndex("AddressRegion");
+
+ b.HasIndex("AddressStreet");
+
+ b.HasIndex("AddressVerifiedBy");
+
+ b.HasIndex("AddressVerifiedOn");
+
+ b.HasIndex("AggregateId")
+ .IsUnique();
+
+ b.HasIndex("AuthenticatedOn");
+
+ b.HasIndex("Birthdate");
+
+ b.HasIndex("CreatedBy");
+
+ b.HasIndex("CreatedOn");
+
+ b.HasIndex("DisabledBy");
+
+ b.HasIndex("DisabledOn");
+
+ b.HasIndex("EmailAddress");
+
+ b.HasIndex("EmailVerifiedBy");
+
+ b.HasIndex("EmailVerifiedOn");
+
+ b.HasIndex("FirstName");
+
+ b.HasIndex("FullName");
+
+ b.HasIndex("Gender");
+
+ b.HasIndex("HasPassword");
+
+ b.HasIndex("IsAddressVerified");
+
+ b.HasIndex("IsConfirmed");
+
+ b.HasIndex("IsDisabled");
+
+ b.HasIndex("IsEmailVerified");
+
+ b.HasIndex("IsPhoneVerified");
+
+ b.HasIndex("LastName");
+
+ b.HasIndex("Locale");
+
+ b.HasIndex("MiddleName");
+
+ b.HasIndex("Nickname");
+
+ b.HasIndex("PasswordChangedBy");
+
+ b.HasIndex("PasswordChangedOn");
+
+ b.HasIndex("PhoneCountryCode");
+
+ b.HasIndex("PhoneE164Formatted");
+
+ b.HasIndex("PhoneExtension");
+
+ b.HasIndex("PhoneNumber");
+
+ b.HasIndex("PhoneVerifiedBy");
+
+ b.HasIndex("PhoneVerifiedOn");
+
+ b.HasIndex("TenantId");
+
+ b.HasIndex("TimeZone");
+
+ b.HasIndex("UniqueName");
+
+ b.HasIndex("UpdatedBy");
+
+ b.HasIndex("UpdatedOn");
+
+ b.HasIndex("Version");
+
+ b.HasIndex("TenantId", "EmailAddressNormalized");
+
+ b.HasIndex("TenantId", "UniqueNameNormalized")
+ .IsUnique()
+ .HasFilter("[TenantId] IS NOT NULL");
+
+ b.ToTable("Users", (string)null);
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.UserIdentifierEntity", b =>
+ {
+ b.Property("UserIdentifierId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("UserIdentifierId"));
+
+ b.Property("Key")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("TenantId")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.Property("Value")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.HasKey("UserIdentifierId");
+
+ b.HasIndex("Key");
+
+ b.HasIndex("Value");
+
+ b.HasIndex("UserId", "Key")
+ .IsUnique();
+
+ b.HasIndex("TenantId", "Key", "Value")
+ .IsUnique()
+ .HasFilter("[TenantId] IS NOT NULL");
+
+ b.ToTable("UserIdentifiers", (string)null);
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.UserRoleEntity", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.Property("RoleId")
+ .HasColumnType("int");
+
+ b.HasKey("UserId", "RoleId");
+
+ b.HasIndex("RoleId");
+
+ b.ToTable("UserRoles", (string)null);
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.ApiKeyRoleEntity", b =>
+ {
+ b.HasOne("Logitar.Identity.EntityFrameworkCore.Relational.Entities.ApiKeyEntity", null)
+ .WithMany()
+ .HasForeignKey("ApiKeyId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Logitar.Identity.EntityFrameworkCore.Relational.Entities.RoleEntity", null)
+ .WithMany()
+ .HasForeignKey("RoleId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.SessionEntity", b =>
+ {
+ b.HasOne("Logitar.Identity.EntityFrameworkCore.Relational.Entities.UserEntity", "User")
+ .WithMany("Sessions")
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("User");
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.UserIdentifierEntity", b =>
+ {
+ b.HasOne("Logitar.Identity.EntityFrameworkCore.Relational.Entities.UserEntity", "User")
+ .WithMany("Identifiers")
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("User");
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.UserRoleEntity", b =>
+ {
+ b.HasOne("Logitar.Identity.EntityFrameworkCore.Relational.Entities.RoleEntity", null)
+ .WithMany()
+ .HasForeignKey("RoleId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Logitar.Identity.EntityFrameworkCore.Relational.Entities.UserEntity", null)
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Logitar.Identity.EntityFrameworkCore.Relational.Entities.UserEntity", b =>
+ {
+ b.Navigation("Identifiers");
+
+ b.Navigation("Sessions");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/src/Logitar.Identity.EntityFrameworkCore.SqlServer/Migrations/20240112010955_AlterUserPhoneColumnLengths.cs b/src/Logitar.Identity.EntityFrameworkCore.SqlServer/Migrations/20240112010955_AlterUserPhoneColumnLengths.cs
new file mode 100644
index 0000000..cb076fc
--- /dev/null
+++ b/src/Logitar.Identity.EntityFrameworkCore.SqlServer/Migrations/20240112010955_AlterUserPhoneColumnLengths.cs
@@ -0,0 +1,62 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace Logitar.Identity.EntityFrameworkCore.SqlServer.Migrations
+{
+ ///
+ public partial class AlterUserPhoneColumnLengths : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AlterColumn(
+ name: "PhoneNumber",
+ table: "Users",
+ type: "nvarchar(20)",
+ maxLength: 20,
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(17)",
+ oldMaxLength: 17,
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "PhoneE164Formatted",
+ table: "Users",
+ type: "nvarchar(40)",
+ maxLength: 40,
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(37)",
+ oldMaxLength: 37,
+ oldNullable: true);
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AlterColumn(
+ name: "PhoneNumber",
+ table: "Users",
+ type: "nvarchar(17)",
+ maxLength: 17,
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(20)",
+ oldMaxLength: 20,
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "PhoneE164Formatted",
+ table: "Users",
+ type: "nvarchar(37)",
+ maxLength: 37,
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(40)",
+ oldMaxLength: 40,
+ oldNullable: true);
+ }
+ }
+}
diff --git a/src/Logitar.Identity.EntityFrameworkCore.SqlServer/Migrations/IdentityContextModelSnapshot.cs b/src/Logitar.Identity.EntityFrameworkCore.SqlServer/Migrations/IdentityContextModelSnapshot.cs
index e11a38f..8308ef4 100644
--- a/src/Logitar.Identity.EntityFrameworkCore.SqlServer/Migrations/IdentityContextModelSnapshot.cs
+++ b/src/Logitar.Identity.EntityFrameworkCore.SqlServer/Migrations/IdentityContextModelSnapshot.cs
@@ -531,16 +531,16 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("nvarchar(2)");
b.Property("PhoneE164Formatted")
- .HasMaxLength(37)
- .HasColumnType("nvarchar(37)");
+ .HasMaxLength(40)
+ .HasColumnType("nvarchar(40)");
b.Property("PhoneExtension")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)");
b.Property("PhoneNumber")
- .HasMaxLength(17)
- .HasColumnType("nvarchar(17)");
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
b.Property("PhoneVerifiedBy")
.HasMaxLength(255)