usermanager NullReferenceException
Hi,
I use a seed method to create roles and users.
I have custom User class (ApplicationUser) and custom Role class (ApplicationRole)
I use a seed method to create roles and users. I did not setup ApplicationUser and ApplicationRole as multitenant because they could be shared between tenants.
My dbcontext is like this:
` public class ApplicationDbContext : MultiTenantIdentityDbContext<ApplicationUser, ApplicationRole, string>,
IMultiTenantStore<CustomTenantInfo>
{
public ApplicationDbContext(ITenantInfo tenantInfo, DbContextOptions<ApplicationDbContext> options)
: base(tenantInfo, options)
{
}
public ApplicationDbContext(ITenantInfo tenantInfo) : base(tenantInfo)
{
}`
So I can create roles and users but when I user usermanager.AddToRoleAsync(user, permission) I have an error null referenceexception.
I have checked and it seems to UserRoles which is null.
How can I fix this?
Stacktrace:
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Threading.Tasks.Task.Wait() at ApplicationDbInitializer.SeedUsersAsync(UserManager1 userManager, RoleManager1 roleManager, ApplicationDbContext applicationDbContext) in C:\Users\alexis\Documents\GitHub\SaasMonkey\SaasMonkey\Data\ApplicationDbContext.cs:line 145 at SaasMonkey.Startup.Configure(IApplicationBuilder app, IWebHostEnvironment env, UserManager1 userManager, RoleManager1 roleManager, ApplicationDbContext applicationDbContext) in C:\Users\alexis\Documents\GitHub\SaasMonkey\SaasMonkey\Startup.cs:line 134 at System.RuntimeMethodHandle.InvokeMethod(Object target, Span1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass15_0.<UseStartup>b__1(IApplicationBuilder app)
at Microsoft.AspNetCore.Mvc.Filters.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.<Configure>g__MiddlewareFilterBuilder|0(IApplicationBuilder builder)
at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
at Microsoft.AspNetCore.Hosting.GenericWebHostService.<StartAsync>d__37.MoveNext()`
hi @dalton5 Sorry for the slow reply. Are you still running into this issue? Do you have a sample project repo I could look at to see the problem in action?
There are other tables involved for the Role <--> User relationship and per your setup they are still multitenant. Honestly if your users and roles are not per-tenant I'd recommend just going with a regular IdentityDbContext.