控制器
...
// field will represent a previously filled up field
Field field = this.unitOfWork.FieldRepository.GetByID( fieldID );
// But I want to remove some of these things called
// field attributes from its array, so I empty it out,
// and refill the list
field.FieldAttributes = null;
field.FieldAttributes = new List<FieldAttribute>();
foreach (var fieldAttributeGroup in fieldAttributes)
{
foreach (var fieldAttributeID in fieldAttributeGroup.Attributes)
{
if (fieldAttributeID != "false" && fieldAttributeID != null)
{
// dbFieldAttribute is from the database
FieldAttribute dbFieldAttribute = this.unitOfWork.FieldAttributeRepository.GetByID(Convert.ToInt32(fieldAttributeID));
// I fill the new field up
field.FieldAttributes.Add(dbFieldAttribute);
}
}
}
// I send the field to the repository:
this.unitOfWork.FieldRepository.Update( field );
存储库
public void Update( Field field )
{
Field dbEntity = context.Fields.Find( field.FieldID );
dbEntity.FieldAttributes = field.FieldAttributes;
context.SaveChanges();
问题:
附加到数据库中字段的现有字段属性关系保持附加,即使我已将该属性设置为等于新的字段属性集。
问题:
我是否必须明确删除已存在的条目...或者是否有办法使实体框架处理所有关系修改..显然,此时未明确删除某些现有的字段属性关系。