Из обычной таблицы aspnet_Users я создал две вложенные таблицы с отношением один к одному в UserId.
Table UserClient
-UserId int PK
-ClientNumber int
Table UserEmployee
-UserId int PK
-EmployeeNumber int
Я создал модель Table per Type в edmx и теперь хочу создать соответствующуюзаписать в соответствующую подстатью, когда я создаю новую запись aspnet_User через хранимые процедуры членства, как показано ниже:
[HttpPost]
public ActionResult CreateUser(CreateUserModel model)
{
if (ModelState.IsValid)
{
// Attempt to create the user
MembershipCreateStatus createStatus = MembershipService.CreateUser(model.UserName, model.Password, model.Email);
if (createStatus == MembershipCreateStatus.Success)
{
//now that the aspnet_user record is created...
FilingBizEntities db = new FilingBizEntities();
//Get the role chosen for the user from selectlist on the CreateUser page
var thisrole = db.aspnet_Role.Where(rn => rn.RoleId == model.RoleId).FirstOrDefault();
//Add the user to the role
Roles.AddUserToRole(model.UserName, thisrole.RoleName);
return RedirectToAction("Index", "Users");
}
else
{
ModelState.AddModelError("", AccountValidation.ErrorCodeToString(createStatus));
}
}
ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
return View(model);
}
Независимо от того, имеет ли он тип "UserClient" или "UserEmployee", зависит от его RoleId, который я в настоящее время различаю при необходимости по запросу.Теперь я хочу расширить свойства каждого типа с помощью таблиц.
Допустим, вновь созданный пользователь является клиентом.
Как вставить запись в таблицу UserClient с помощью ее пользовательского идентификатора aspnet_Users иэтот ClientNumber?