我对 EF 中的更新完全感到困惑。试图通过互联网查找相关教程,但一无所获。
我有两个问题。
- 如何仅更新某个表的特定字段。
更新如何与导航属性一起使用?(i。如果我更新某个实体,那么 Ef(Linq to Entity) 也会更新它的导航属性?)
[Table("master")] public class masterViewModel { [Key,ForeignKey("address")] public int id { get; set; } public string name { get; set; } public string lastName { get; set; } public virtual address address { get; set; } } public class address { [Key] public int id { get; set; } public string city { get; set; } public string state { get; set; }
即
假设我有[masterViewModel.id=1 , masterViewModel.name="ABC" and masterViewModel.lastName=null ] [address.id=1 , address.city="xyz" and address.state=null]
然后我在我看来我做了类似下面的事情@Html.DisplayFor(modelModel => Model.name) @Html.DisplayFor(modelModel => Model.address.city) @Html.HiddenFor(x => x.id)@Html.HiddenFor(x => x.address.id) @Html.EditorFor(modelModel => Model.address.state ) @Html.EditorFor(modelModel => Model.lastName)
因为我在表单发布时将 DisplayFor 用于名称和字符串属性,所以我在我的控制器操作中从不 gt 这两个字段的值,所以我需要只更新“状态”(地址)和“lastName”(masterViewModel)属性的东西。