我的平台有两个表UserInfo
和PersonalInfo
。用户创建配置文件时,数据将保存在UserInfo
中。 UserInfo
的视图有一个@Html.EditorFor
,它是从Active Directory自动填充的(如果AD字段为null,则辅助类会在其位置添加N / A)。根据用户决定在平台内使用哪种应用程序,将需要更多信息,因此他们将需要在PersonalInfo
中创建一行。用户可以从其中选择的PersonalInfo
作为@Html.DropDownListFor
的视图将更新用户部门和成本中心。
创建或更新UserInfo
的行时,我想更新PersonalInfo
的部门。
当前,当我创建一行时,它看起来像这样:
if (ModelState.IsValid)
{
var myUserInfo = new myUserInfo
{
UserId = userNum.Id,
Address = viewModel.Address,
City = viewModel.City,
State = viewModel.State,
CellPhone = viewModel.CellPhone,
Department = viewmodel.Department,
CostCenter = viewmodel.CostCenter,
ZipCode = viewModel.ZipCode
};
db.MyUserInfos.Add(myUserInfo);
db.SaveChanges();
}
如何在调用Department
之前仅更新PersonalInfo
表中的db.SaveChanges()
字段?
答案 0 :(得分:1)
在tableB中添加一行:-
var tableB = new TableB
{
UserId = userNum.Id,
Address = viewModel.Address,
City = viewModel.City,
State = viewModel.State,
CellPhone = viewModel.CellPhone,
Department = viewmodel.Department,
CostCenter = viewmodel.CostCenter,
ZipCode = viewModel.ZipCode
};
db.MyTableB.Add(tableB);
更新表A中的行:-
var tableA = db.MyTableA.Find(tableAId);
tableA.Department = viewModel.Department;
db.MyTableA.Attach(tableA);
db.Entry(tableA).State = EntityState.Modified
完成所有必需的更改后,致电db.SaveChanges();