EF

时间:2017-01-24 07:19:32

标签: c# entity-framework

我正面临实体框架中的实体更新问题。在我的代码中,首先我创建一个员工对象,将所有属性设置为包含标量和导航属性,在同一方法中,我更新候选实体及其导航属性用户,但是当我要保存所有实体,没有标量属性更新,导航属性保持不变时,为什么会发生这种情况,请解释一下这种情况。

这是我的代码

public void AddEmployee(int candidateId)
{ 
    var candidate= candidateRepository.read(candidateId);
    var employee= new Employee();
     /*--- add property ---*/
    candidate.Employee= employee;
    candidate.User.IsPlaced = true;
    employeeRepository.add(employee);
    candidateRepository.update(candidate);
}

这是我的存储库更新方法

public void update(T entity)
{
     scope.Container.Set<TEntity>().Attach(entity);
     scope.Container.Entry(entity).State = EntityState.Modified;
     scope.Container.Savechanges();
}
public void read(int Id)
{
    scope.Container.Set<TEntity>().FirstOrDefault(x => x.Id == Id);
}

在这个只有员工添加数据库的情况下,候选存储库更新方法不起作用,请解释一下这种行为。

0 个答案:

没有答案