Asp.net mvc 如何在不获取额外行的情况下填充稀疏表
现有MVC代码,添加新的稀疏填充子表。Asp.net mvc 如何在不获取额外行的情况下填充稀疏表,asp.net-mvc,entity-framework,entity-framework-6,Asp.net Mvc,Entity Framework,Entity Framework 6,现有MVC代码,添加新的稀疏填充子表。 此表是稀疏的,因此相应的行并不总是存在。所以一对零或者和父母一对一 在我的更新页面上。。。 如果我将ID作为隐藏字段 @Html.TextBoxFor(cm => cm.SparseTable.SparseID, new { @class = "hidden" }) 然后,只要行是预先存在的,它就可以工作。 如果该行不存在,则不会填充ID,并且ModelState.IsValid为false 如果我注释掉隐藏的行,那么模型是有
此表是稀疏的,因此相应的行并不总是存在。所以一对零或者和父母一对一 在我的更新页面上。。。 如果我将ID作为隐藏字段
@Html.TextBoxFor(cm => cm.SparseTable.SparseID, new { @class = "hidden" })
然后,只要行是预先存在的,它就可以工作。如果该行不存在,则不会填充ID,并且ModelState.IsValid为false 如果我注释掉隐藏的行,那么模型是有效的,如果有,数据会被输入到数据库中。但即使行确实存在,也不会设置ID。因此,每次更新此客户端时,它都会创建一个新行 我想要UpdateOrCreate,但是如果行不存在,我看不出如何通过IsValid 模型
如果可选,请将int更改为
int?
,或手动删除错误。
[DataContract]
public class SparseTable : IParentID
{
[DataMember]
public int SparseID { get; set; }
[DataMember]
public int ParentID { get; set; }
[DataMember]
public bool OtherData { get; set; }
.....