在 table B 中创建行时如何更新 table A 中的值?
How do I update a value in table A when creating a row in table B?
我的平台有两个 tables UserInfo
和 PersonalInfo
。当用户创建配置文件时,数据将保存在 UserInfo
中。 UserInfo
的视图有一个 @Html.EditorFor
,它是从 Active Directory 自动填充的(如果 AD 字段为空,助手 class 在其位置添加 N/A)。根据用户决定在平台内使用的应用程序,将需要更多信息,因此他们需要在 PersonalInfo
中创建一行。 PersonalInfo
的视图作为用户可以选择的 @Html.DropDownListFor
将更新该用户部门和成本中心。
我想在创建或更新 PersonalInfo
的行时更新 UserInfo
的部门。
目前,当我创建一行时,它看起来像这样:
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();
}
如何在调用 db.SaveChanges()
之前仅更新 PersonalInfo
table 中的 Department
字段?
在表中添加一行:-
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);
更新表中的一行:-
var tableA = db.MyTableA.Find(tableAId);
tableA.Department = viewModel.Department;
db.MyTableA.Attach(tableA);
db.Entry(tableA).State = EntityState.Modified
完成所有必需的更改后,请致电 db.SaveChanges();
我的平台有两个 tables UserInfo
和 PersonalInfo
。当用户创建配置文件时,数据将保存在 UserInfo
中。 UserInfo
的视图有一个 @Html.EditorFor
,它是从 Active Directory 自动填充的(如果 AD 字段为空,助手 class 在其位置添加 N/A)。根据用户决定在平台内使用的应用程序,将需要更多信息,因此他们需要在 PersonalInfo
中创建一行。 PersonalInfo
的视图作为用户可以选择的 @Html.DropDownListFor
将更新该用户部门和成本中心。
我想在创建或更新 PersonalInfo
的行时更新 UserInfo
的部门。
目前,当我创建一行时,它看起来像这样:
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();
}
如何在调用 db.SaveChanges()
之前仅更新 PersonalInfo
table 中的 Department
字段?
在表中添加一行:-
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);
更新表中的一行:-
var tableA = db.MyTableA.Find(tableAId);
tableA.Department = viewModel.Department;
db.MyTableA.Attach(tableA);
db.Entry(tableA).State = EntityState.Modified
完成所有必需的更改后,请致电 db.SaveChanges();