- ABP Framework version: v6.0.0
- UI Type: Angular
- Database System: EF Core (SQL Server)
- Auth Server Separated (for Angular): yes/no
- Exception message and full stack trace:
- Steps to reproduce the issue:
Hello Support team , We upgraded from v6 to v 7.3.2 using abp update command , I have now error when I tried to login on Auth server using this command :
      var result = await SignInManager.PasswordSignInAsync(
          LoginInput.UserNameOrEmailAddress,
          LoginInput.Password,
          LoginInput.RememberMe,
          true
      );
I got this error on attached image , you can also find below the stack trace for the System.ArgumentNullException:
System.ArgumentNullException
  HResult=0x80004003
  Message=Value cannot be null. Arg_ParamName_Name
  Source=System.Linq
  StackTrace:
   at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument) in System.Linq\ThrowHelper.cs:line 10
   at System.Linq.Enumerable.SequenceEqual[TSource](IEnumerable`1 first, IEnumerable`1 second, IEqualityComparer`1 comparer) in System.Linq\Enumerable.cs:line 6938
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.GetCurrentValue[TProperty](IPropertyBase propertyBase) in /_/src/EFCore/ChangeTracking/Internal/InternalEntityEntry.cs:line 910
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.EnsureOriginalValues() in /_/src/EFCore/ChangeTracking/Internal/InternalEntityEntry.cs:line 1142
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntrySubscriber.SnapshotAndSubscribe(InternalEntityEntry entry) in /_/src/EFCore/ChangeTracking/Internal/InternalEntityEntrySubscriber.cs:line 32
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.StartTrackingFromQuery(IEntityType baseEntityType, Object entity, ValueBuffer& valueBuffer) in /_/src/EFCore/ChangeTracking/Internal/StateManager.cs:line 359
   at Microsoft.EntityFrameworkCore.Query.QueryContext.StartTracking(IEntityType entityType, Object entity, ValueBuffer valueBuffer) in /_/src/EFCore/Query/QueryContext.cs:line 147
   at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable`1.AsyncEnumerator.<MoveNextAsync>d__21.MoveNext() in Microsoft.EntityFrameworkCore.Query.Internal\SplitQueryingEnumerable.cs:line 219
   at System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult() in /_/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/ConfiguredValueTaskAwaitable.cs:line 154
   at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.<SingleOrDefaultAsync>d__15`1.MoveNext() in /_/src/EFCore/Query/ShapedQueryCompilingExpressionVisitor.cs:line 159
   at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.<SingleOrDefaultAsync>d__15`1.MoveNext() in /_/src/EFCore/Query/ShapedQueryCompilingExpressionVisitor.cs:line 171
   at SanadCash.Expense.Users.ExtendedEfCoreIdentityUserRepository.<FindByNormalizedUserNameAsync>d__6.MoveNext() in D:\Projects\SanadCash.Expense\aspnet-core\src\SanadCash.Expense.EntityFrameworkCore\Users\ExtendedEfCoreIdentityUserRepository.cs:line 103
  This exception was originally thrown at this call stack:
    System.Linq.ThrowHelper.ThrowArgumentNullException(System.Linq.ExceptionArgument) in ThrowHelper.cs
    System.Linq.Enumerable.SequenceEqual<TSource>(System.Collections.Generic.IEnumerable<TSource>, System.Collections.Generic.IEnumerable<TSource>, System.Collections.Generic.IEqualityComparer<TSource>) in Enumerable.cs
    Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.GetCurrentValue<TProperty>(Microsoft.EntityFrameworkCore.Metadata.IPropertyBase) in InternalEntityEntry.cs
    Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.EnsureOriginalValues() in InternalEntityEntry.cs
    Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntrySubscriber.SnapshotAndSubscribe(Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry) in InternalEntityEntrySubscriber.cs
    Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.StartTrackingFromQuery(Microsoft.EntityFrameworkCore.Metadata.IEntityType, object, Microsoft.EntityFrameworkCore.Storage.ValueBuffer) in StateManager.cs
    Microsoft.EntityFrameworkCore.Query.QueryContext.StartTracking(Microsoft.EntityFrameworkCore.Metadata.IEntityType, object, Microsoft.EntityFrameworkCore.Storage.ValueBuffer) in QueryContext.cs
    Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable<T>.AsyncEnumerator.MoveNextAsync() in SplitQueryingEnumerable.cs
    System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter.GetResult() in ConfiguredValueTaskAwaitable.cs
    Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync<TSource>(System.Collections.Generic.IAsyncEnumerable<TSource>, System.Threading.CancellationToken) in ShapedQueryCompilingExpressionVisitor.cs
    ...
    [Call Stack Truncated]
17 Answer(s)
- 
    0hi There are too many changes between 6.0 and 7.3. How can I reproduce this? 
- 
    0Hi , Sure thing , you can find below steps to reproduce this issue : 1- Go to the root of two projects and run run: abp update 2- change <TargetFramework>net6.0</TargetFramework> --> <TargetFramework>net7.0</TargetFramework> 3- Update many Microsoft DLL's to 7.0.0 like : Microsoft.Extensions.FileProviders.Embedded Microsoft.Extensions.Logging.Abstractions Microsoft.Extensions.Http Microsoft.Extensions.Options Microsoft.Extensions.Hosting 6- Change standard project from <TargetFramework>netstandard2.0</TargetFramework> To <TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks> 7- Renamed OnRegistered Method 8 - Removed MultiTenancySides from permission groups #13755 //https://github.com/abpframework/abp/issues/13755 9- Upgrade Volo.Abp.Autofac , Volo.Saas.Host.Application.Contracts and any missing Volo references to 7.3.3 10 - Update below packages to 7.0.0 <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="7.0.0" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="7.0.0" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="7.0.0" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.Twitter" Version="7.0.0" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="7.0.0" /> <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="7.0.0" /> 10 - Add public DbSet<IdentityUserDelegation> UserDelegations { get; } 11- Add migration and run the migration. 12 - <PackageReference Include="Volo.Abp.AspNetCore.Serilog" Version="7.3.3" /> <PackageReference Include="Volo.Abp.Caching.StackExchangeRedis" Version="7.3.3" /> <PackageReference Include="Volo.Abp.Account.Pro.Public.Application" Version="7.3.3" /> <PackageReference Include="Volo.Abp.Account.Pro.Public.HttpApi" Version="7.3.3" /> <PackageReference Include="Volo.Abp.Account.Pro.Public.Web.IdentityServer" Version="7.3.3" /> <PackageReference Include="Volo.Abp.Account.Pro.Public.Web.Impersonation" Version="7.3.3" /> <PackageReference Include="Volo.Abp.EventBus.Azure" Version="7.3.3" /> <PackageReference Include="Volo.Saas.Host.Application.Contracts" Version="7.3.3" /> 13- Upgrade EasyAbp.NotificationService.Provider.Mailing package to 2.3.0 14 - update Volo.Abp.Account.Pro.Public.Web.IdentityServer to 7.3.2 15- update microsoft.entityframeworkcore.tools to 7.0.1 16 - upgrade Elsa , Elsa.Activities.UserTask and Elsa.Persistence.EntityFramework to 2.12.0 17 - In IdentityServer project upgrade Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX To 2.3.3 18 - Run the application and try to login from Auth server link , you will got this error : Thanks ******************************************************************************************************  An unhandled exception occurred while processing the request. ArgumentNullException: Value cannot be null. (Parameter 'second') System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument) Stack Query Cookies Headers Routing ArgumentNullException: Value cannot be null. (Parameter 'second') System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument) System.Linq.Enumerable.SequenceEqual<TSource>(IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource> comparer) lambda_method2642(Closure , IUpdateEntry ) Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.GetCurrentValue<TProperty>(IPropertyBase propertyBase) lambda_method2584(Closure , InternalEntityEntry ) Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry+OriginalValues..ctor(InternalEntityEntry entry) Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.EnsureOriginalValues() Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntrySubscriber.SnapshotAndSubscribe(InternalEntityEntry entry) Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.StartTrackingFromQuery(IEntityType baseEntityType, object entity, ref ValueBuffer valueBuffer) Microsoft.EntityFrameworkCore.Query.QueryContext.StartTracking(IEntityType entityType, object entity, ValueBuffer valueBuffer) lambda_method2526(Closure , QueryContext , DbDataReader , ResultContext , SplitQueryResultCoordinator ) Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable<T>+AsyncEnumerator.MoveNextAsync() System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>+ConfiguredValueTaskAwaiter.GetResult() Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync<TSource>(IAsyncEnumerable<TSource> asyncEnumerable, CancellationToken cancellationToken) Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync<TSource>(IAsyncEnumerable<TSource> asyncEnumerable, CancellationToken cancellationToken) Volo.Abp.Identity.EntityFrameworkCore.EfCoreIdentityUserRepository.FindByNormalizedUserNameAsync(string normalizedUserName, bool includeDetails, CancellationToken cancellationToken) Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous<TResult>(IInvocation invocation, IInvocationProceedInfo proceedInfo) Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue<TResult>.ProceedAsync() Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter<TInterceptor>.InterceptAsync<TResult>(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func<IInvocation, IInvocationProceedInfo, Task<TResult>> proceed) Microsoft.AspNetCore.Identity.UserManager<TUser>.FindByNameAsync(string userName) Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous<TResult>(IInvocation invocation, IInvocationProceedInfo proceedInfo) Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue<TResult>.ProceedAsync() Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter<TInterceptor>.InterceptAsync<TResult>(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func<IInvocation, IInvocationProceedInfo, Task<TResult>> proceed) Microsoft.AspNetCore.Identity.SignInManager<TUser>.PasswordSignInAsync(string userName, string password, bool isPersistent, bool lockoutOnFailure) Volo.Abp.Identity.AspNetCore.AbpSignInManager.PasswordSignInAsync(string userName, string password, bool isPersistent, bool lockoutOnFailure) SanadCash.Expense.Pages.Account.LoginModel.OnPostAsync(string action) in Login.cshtml.cs + var result = await SignInManager.PasswordSignInAsync( Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.ExecutorFactory+GenericTaskHandlerMethod.Convert<T>(object taskAsObject) Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.ExecutorFactory+GenericTaskHandlerMethod.Execute(object receiver, object[] arguments) Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker.InvokeHandlerMethodAsync() Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker.InvokeNextPageFilterAsync() Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker.Rethrow(PageHandlerExecutedContext context) Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted) Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker.InvokeInnerFilterAsync() Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted) Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ExceptionContextSealed context) Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted) Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted) Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted) Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted) Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker) Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker) Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) Volo.Abp.AspNetCore.Serilog.AbpSerilogMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext() Volo.Abp.AspNetCore.Auditing.AbpAuditingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Volo.Abp.AspNetCore.Auditing.AbpAuditingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext() Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) IdentityServer4.Hosting.IdentityServerMiddleware.Invoke(HttpContext context, IEndpointRouter router, IUserSession session, IEventService events, IBackChannelLogoutService backChannelLogoutService) IdentityServer4.Hosting.MutualTlsEndpointMiddleware.Invoke(HttpContext context, IAuthenticationSchemeProvider schemes) Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) IdentityServer4.Hosting.BaseUrlMiddleware.Invoke(HttpContext context) Volo.Abp.AspNetCore.Uow.AbpUnitOfWorkMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext() Volo.Abp.AspNetCore.ExceptionHandling.AbpExceptionHandlingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Volo.Abp.AspNetCore.ExceptionHandling.AbpExceptionHandlingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext() Volo.Abp.AspNetCore.MultiTenancy.MultiTenancyMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext() Microsoft.AspNetCore.Builder.ApplicationBuilderAbpJwtTokenMiddlewareExtension+<>c__DisplayClass0_0+<<UseJwtTokenMiddleware>b__0>d.MoveNext() Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) Volo.Abp.AspNetCore.Tracing.AbpCorrelationIdMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext() Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context) Microsoft.AspNetCore.RequestLocalization.AbpRequestLocalizationMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext() Volo.Abp.AspNetCore.Security.AbpSecurityHeadersMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext() Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext context) 
- 
    0hi Please share your project, and I will run it on my locally. Thanks liming.ma@volosoft.com 
- 
    0Hi , I tried to prepare a project for Auth server that have this issue after remove our source code but the issue not appear . As you know I can't share our Company source code . So can make a remote session with you to investigate on issue on real sample with easy steps . We can make this session any time if you can and I hope it will take a small time. This is mt email : anasaq@sanadcash.com Thanks 
- 
    0hi I think it can definitely reproduce the problem on your computer, But it is difficult to debug applications remotely. Can you first compare the code of the new and old projects? 
- 
    0Hi , I can now reproduce the issue in clean instance for version 7.3.3 . The issue on AbpTestUpgrade733NewDbContext.cs in line 95 : b.ToTable(AbpAuditLoggingDbProperties.DbTablePrefix + "Users", AbpAuditLoggingDbProperties.DbSchema); If we comment this line the error will gone but we can't access IdentityUserView . I will attach two files . The first one aspnet-core-V6-AbpV-6.0.0 will have the working sample from our code using abp version 6. The second one aspnet-core-V7-AbpV-7.3.3 will have the working sample from our code using abp version 7.3.3. You can see the error on version 7.3.3 , also on file Index.cshtml.cs you will find a code to get data from **IdentityUser **entity and IdentityUserView Note: in **IdentityUser **entity and IdentityUserView we want to map these two entities to the same table Users , it's work fine in abp V6 , but we got an error on abp V 7.3.3 Best regards 
- 
    0Hi, It looks like a problem with EF Core, not ABP. Will it work if you use a net core application without ABP? 
- 
    0Hi liangshiwei , The sample work fine int .Net 7 with EF7 , please find this console application . Best regards 
- 
    0Hi, I will check it 
- 
    0
- 
    0Hi , The relation is One-to-one with no navigations : protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<Blog>() .HasOne<BlogHeader>() .WithOne() .HasForeignKey<BlogHeader>(e => e.BlogId) .IsRequired(); }The two entities mapped to the same table. Also if we change it like this we still have the same error : b.HasOne<IdentityUser>().WithOne().HasForeignKey<IdentityUserView>(e => e.Id);Please can you check this project after add new Entities Country and CountryView which also mapped to one Table "AppCountries" , you will see that the project work fine (after comment the ModelBuilder configuration for users). Another important things the "DbMigrator" project also throw the same error when we run it (after uncomment the ModelBuilder configuration for users). It's seems the issue is with **IdentityUser **class . Thanks 
- 
    0hi I will check Country and CountryView.
- 
    0hi You can test this public class MyExtraPropertyDictionaryValueComparer : ValueComparer<ExtraPropertyDictionary> { public MyExtraPropertyDictionaryValueComparer() : base( (a, b) => Compare(a, b), d => d.Aggregate(0, (k, v) => HashCode.Combine(k, v.GetHashCode())), d => new ExtraPropertyDictionary(d)) { } private static bool Compare(ExtraPropertyDictionary? a, ExtraPropertyDictionary? b) { if (a == null && b == null) { return true; } if (a == null && b != null || a != null && b == null) { return false; } return a!.SequenceEqual(b!); } } builder.Entity<IdentityUser>(b => { b.ToTable(AbpIdentityDbProperties.DbTablePrefix + "Users", AbpIdentityDbProperties.DbSchema); b.ConfigureByConvention(); b.Property(x => x.LockoutEnd).HasColumnName(nameof(IdentityUser.LockoutEnd)); b.Property(x => x.Id).HasColumnName(nameof(IdentityUser.Id)); b.Property(x => x.ExtraProperties) .HasColumnName(nameof(IHasExtraProperties.ExtraProperties)) .HasConversion(new ExtraPropertiesValueConverter(b.Metadata.ClrType)) .Metadata.SetValueComparer(new MyExtraPropertyDictionaryValueComparer()); }); builder.Entity<IdentityUserView>(b => { b.ToTable(AbpAuditLoggingDbProperties.DbTablePrefix + "Users", AbpIdentityDbProperties.DbSchema); b.ConfigureByConvention(); b.Property(x => x.ExtraProperties) .HasColumnName(nameof(IHasExtraProperties.ExtraProperties)) .HasConversion(new ExtraPropertiesValueConverter(b.Metadata.ClrType)) .Metadata.SetValueComparer(new MyExtraPropertyDictionaryValueComparer()); b.Property(x => x.Id).HasColumnName(nameof(IdentityUser.Id)); b.Property(x => x.AccessFailedCount).HasColumnName(nameof(IdentityUser.AccessFailedCount)); b.Property(x => x.Email).HasColumnName(nameof(IdentityUser.Email)).HasMaxLength(256); b.Property(x => x.EmailConfirmed).HasColumnName(nameof(IdentityUser.EmailConfirmed)); b.Property(x => x.IsActive).HasColumnName(nameof(IdentityUser.IsActive)); b.Property(x => x.IsExternal).HasColumnName(nameof(IdentityUser.IsExternal)); b.Property(x => x.LockoutEnabled).HasColumnName(nameof(IdentityUser.LockoutEnabled)); b.Property(x => x.LockoutEnd).HasColumnName(nameof(IdentityUser.LockoutEnd)); b.Property(x => x.Name).HasColumnName(nameof(IdentityUser.Name)).HasMaxLength(64); b.Property(x => x.NormalizedEmail).HasColumnName(nameof(IdentityUser.NormalizedEmail)).HasMaxLength(256); b.Property(x => x.NormalizedUserName).HasColumnName(nameof(IdentityUser.NormalizedUserName)).HasMaxLength(256); b.Property(x => x.PasswordHash).HasColumnName(nameof(IdentityUser.PasswordHash)).HasMaxLength(256); b.Property(x => x.PhoneNumber).HasColumnName(nameof(IdentityUser.PhoneNumber)).HasMaxLength(16); b.Property(x => x.PhoneNumberConfirmed).HasColumnName(nameof(IdentityUser.PhoneNumberConfirmed)); b.Property(x => x.SecurityStamp).HasColumnName(nameof(IdentityUser.SecurityStamp)).HasMaxLength(256); b.Property(x => x.Surname).HasColumnName(nameof(IdentityUser.Surname)).HasMaxLength(64); b.Property(x => x.TwoFactorEnabled).HasColumnName(nameof(IdentityUser.TwoFactorEnabled)); b.Property(x => x.UserName).HasColumnName(nameof(IdentityUser.UserName)).HasMaxLength(256); b.HasOne<IdentityUser>().WithOne().HasForeignKey<IdentityUserView>(e => e.Id); });
- 
    0
- 
    0hi aqudah81 Can you share the project again? Thanks liming.ma@volosoft.com 
- 
    0Hi maliming , Sure thing , Please find the link for the [Project ] Thanks 
- 
    0






 
                                