के लिए बीज डेटाबेस मुझे पहचान v2 के साथ डेटाबेस बीजिंग के लिए एक समस्या आई। मैंने एमवीसी 5 प्रोजेक्ट से पहचान डेटा मॉडल को अपने डेटा एक्सेस लेयर में अलग कर दिया जहां मैंने ईएफ माइग्रेशन भी सेट किया। एक तो मैं कोड जो अंदर "IdentityConfig.cs" प्रारंभिक उपयोगकर्ता बना सकते हैं और मेरे बीज डेटाबेस है कि इसपहचान 2
protected override void Seed(Repository.DataContext.IdentityDb context)
{
// var userManager = HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
// var roleManager = HttpContext.Current.GetOwinContext().Get<ApplicationRoleManager>();
var owinContext = new OwinContext();
var userManager = owinContext.GetUserManager<ApplicationUserManager>();
var roleManager = owinContext.Get<ApplicationRoleManager>();
const string name = "[email protected]";
const string password = "[email protected]";
const string roleName = "Admin";
// //Create Role Admin if it does not exist
var role = roleManager.FindByName(roleName);
if (role == null)
{
role = new IdentityRole(roleName);
var roleresult = roleManager.Create(role);
}
var user = userManager.FindByName(name);
if (user == null)
{
user = new ApplicationUser { UserName = name, Email = name };
var result = userManager.Create(user, password);
result = userManager.SetLockoutEnabled(user.Id, false);
}
// // Add user admin to Role Admin if not already added
var rolesForUser = userManager.GetRoles(user.Id);
if (!rolesForUser.Contains(role.Name))
{
var result = userManager.AddToRole(user.Id, role.Name);
}
}
तरह लग रहा है अब जब मैं आदेश अद्यतन-डेटाबेस चला रहा हूँ अंदर कोड डाल करने के लिए उपयोग करने पर टिप्पणी की, मुझे मिल गया त्रुटि
Value cannot be null.
Parameter name: manager
ऐसा लग रहा है, मैं कोड
var userManager = owinContext.GetUserManager<ApplicationUserManager>();
var roleManager = owinContext.Get<ApplicationRoleManager>();
कोई भी सुझाव कृपया की इन दो पंक्तियों में अशक्त मिल रहा है?
protected override void Seed(Repository.DataContext.IdentityDb context)
var roleStore = new RoleStore<IdentityRole>(context);
var roleManager = new RoleManager<IdentityRole>(roleStore);
var userStore = new UserStore<ApplicationUser>(context);
var userManager = new UserManager<ApplicationUser>(userStore);
var user = new ApplicationUser { UserName = "sallen" };
userManager.Create(user, "password");
roleManager.Create(new IdentityRole { Name = "admin" });
userManager.AddToRole(user.Id, "admin");
}
देखो: https://raw.githubusercontent.com/OdeToCode/MVC5_Samples/master/identity/BasicIdentityWithDiagrams /Migrations/Configuration.cs मुझे नहीं लगता कि आप बीज विधि में ओविन का उपयोग करके सफलता प्राप्त करेंगे जबतक कि आप ऐप के अंदर से बीज नहीं चला रहे हैं। यदि आप पैकेज प्रबंधक कंसोल से बीज चलाते हैं तो ओविन चारों ओर या कॉन्फ़िगर नहीं होगा। – OdeToCode