我希望管理员能够将AspNetUser分配给特定客户。该关系应该是多个登录(AspNetUsers)具有同一客户的外键。为此,我将以下属性添加到我的identityModel。
public virtual Customer Customer { get; set; }
该列已添加到数据库中;到目前为止一切顺利。
当我尝试使用ApplicationUserManager的实例更新ApplicationUser实体时,不会抛出异常并返回视图。尽管如此,数据库没有任何变化。调试时,我发现客户已经为用户设置了,所以我想知道是否有任何我遗漏的东西?
public async Task<ActionResult> Edit([Bind(Include = "Id,Email,Customer")] ApplicationUser user)
{
if (ModelState.IsValid)
{
ApplicationUserManager applicationUserManager = new ApplicationUserManager(new UserStore<ApplicationUser>(db));
var customerName = Request.Form["customerSelect"];
var customer = db.Customers.SingleOrDefault(c => c.Name == customerName);
user.Customer = customer;
await applicationUserManager.UpdateAsync(user);
return RedirectToAction("index");
}
return View(user);
}
我想创建一个将AspNetUser.Id映射到Customer.Id的新实体,但我不愿意。