【发布时间】:2013-05-08 15:10:35
【问题描述】:
所以我有以下2个模型:
[Table("Company")]
public class Company {
public virtual List<UserAccount> Users {
get {
// I load my users here
}
}
}
[Table("UserAccount")]
public class UserAccount {
public string email { get; set; }
}
在我看来,我尝试对其进行编辑:
@model MyXsite2013.Company
<table>
foreach (UserAccount ua in Model.Users) {
<tr class="noRowHover">
<td>
@Html.TextBoxFor(modelItem => ua.email)
</td>
</tr>
}
</table>
在回发时,我尝试保存:
public ActionResult Edit(Company companyModel) {
Company companyContext = database.Companies.Find(companyModel.ID);
database.Entry(companyContext).CurrentValues.SetValues(companyModel);
companyContext.IsActive = true;
database.SaveChanges();
}
这当然不会将更改保存到用户,事实上,它甚至没有看到更改的到来。
【问题讨论】:
-
根据我对你的问题的理解。我们不能在这种激情中使用,因为虚拟关键字用于外键目的。如果我们使用 virtual 关键字,则意味着集合将是延迟加载。如果我错了,请纠正我。
-
你应该用
@using (Html.BeginForm()) { }包裹你的表格。
标签: c# asp.net-mvc entity-framework razor