使用List更新实体

时间:2015-04-15 09:16:34

标签: c# entity-framework-6

控制器

...
// 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();

问题:

附加到数据库中字段的现有字段属性关系保持附加,即使我已将该属性设置为等于新的字段属性集。

问题:

我是否必须明确删除已存在的条目...或者是否有办法使实体框架处理所有关系修改..显然,此时未明确删除某些现有的字段属性关系。

0 个答案:

没有答案