में भूमिका में है या नहीं, मुझे उपयोगकर्ताओं और भूमिकाओं के साथ अपना डेटाबेस बीजिंग करने में कोई समस्या है।जांच रहा है कि कोई उपयोगकर्ता एएसपीएनटी एमवीसी पहचान
उपयोगकर्ता और भूमिका दोनों बनाई गई हैं (त्रुटि को फेंकने के बाद मैं उन्हें डेटाबेस में देख सकता हूं)।
हालांकि, जब मैं यह जांचने की कोशिश करता हूं कि उपयोगकर्ता भूमिका में है या नहीं, तो मुझे अपवाद मिलता है।
मेरे कोड है:
public class tbInitializer<T> : DropCreateDatabaseAlways<tbContext>
{
protected override void Seed(tbContext context)
{
ApplicationDbContext userscontext = new ApplicationDbContext();
var userStore = new UserStore<ApplicationUser>(userscontext);
var userManager = new UserManager<ApplicationUser>(userStore);
var roleStore = new RoleStore<IdentityRole>(userscontext);
var roleManager = new RoleManager<IdentityRole>(roleStore);
if(!userscontext.Users.Any(x=> x.UserName=="marktest"))
{
var user = new ApplicationUser { UserName = "marktest", Email = "[email protected]" };
userManager.Create(user, "Pa$$W0rD!");
}
if (!roleManager.RoleExists("Admin"))
{
roleManager.Create(new IdentityRole("Admin"));
}
if(!userManager.IsInRole("marktest","Admin"))
{
userManager.AddToRole("marktest","Admin");
}
हालांकि, लाइन पर:
if(!userManager.IsInRole("marktest","Admin"))
एक अपवाद त्रुटि के साथ फेंक दिया जाता है: UserId not found.
उपयोगकर्ता और भूमिका दोनों कर रहे हैं डेटाबेस में जब मैं अपवाद के बाद जांचता हूं:
किसी को भी मैं गलत क्या कर रहा देख सकते हैं?
किसी भी मदद के लिए धन्यवाद,
मार्क
क्या आपने 'SaveChanges()' 'if (! UserManager.IsInRole (" marktest "," Admin ") से पहले 'कोशिश की है)? – Bruniasty
हाय - हाँ, मैंने 'संदर्भ जोड़ा। सेव चेंज();' - बस उस पंक्ति से पहले, लेकिन अभी भी एक ही त्रुटि के साथ अपवाद फेंकता है। धन्यवाद, मार्क – Mark
क्या "marktest" उपयोगकर्ता डेटाबेस में सहेजा गया है? – Bruniasty