我有一个由实体框架(cordova prepare android --verbose
)创建的类。它有另一个类(Document
)的集合。
FileInfo
用户现在可以通过gui向集合(/// <summary>
/// No Metadata Documentation available.
/// </summary>
[EdmEntityTypeAttribute(NamespaceName="DocumentManagerModel", Name="DocumentContainer")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class DocumentContainer : EntityObject
{
...
/// <summary>
/// No Metadata Documentation available.
/// </summary>
[XmlIgnoreAttribute()]
[SoapIgnoreAttribute()]
[DataMemberAttribute()]
[EdmRelationshipNavigationPropertyAttribute("DocumentManagerModel", "FK__FileInfo__00000000000018FA", "FileInfo")]
public EntityCollection<FileInfo> FileInfoes
{
get
{
return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<FileInfo>("DocumentManagerModel.FK__FileInfo__00000000000018FA", "FileInfo");
}
set
{
if ((value != null))
{
((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<FileInfo>("DocumentManagerModel.FK__FileInfo__00000000000018FA", "FileInfo", value);
}
}
}
...
}
)添加或删除项目。 gui表单有一个取消按钮。如何设置重置集合中的所有更改?
答案 0 :(得分:1)
只要您没有调用dbcontext.SaveChanges()
,就不会将任何内容保存到数据库中。当他们点击取消按钮时,我只是处理dbcontext并创建一个新的,如果我是你。
致电
dbcontext.Entry(myEntity).CurrentValues.SetValues(dbcontext.Entry(myEntity).OriginalValues);
dbcontext.Entry(myEntity).State = EntityState.UnChanged;
也应该这样做。