选择特定行中的用户,实体框架

时间:2016-06-30 17:01:10

标签: c# entity-framework asp.net-identity-2

我正在尝试从我的数据库中选择在实体框架中没有特定角色的用户。

我的方法是:

public IList<Employee> GetPotentialDivisionManagers(Guid companyId)
{
    IList<Employee> employees = new List<Employee>();
    var potentialEmployees = new List<Employee>();

    employees = _dataContext.Set<Employee>()
                .Where(e => e.CompanyId == companyId)
                .ToList();

    foreach (var employee in employees)
    {

      if(!_userManager.IsInRole(employee.Id, "DivisionManager"))
            potentialEmployees.Add(employee);
    }
    return potentialEmployees;
}

The Line:

if(!_userManager.IsInRole(employee.Id, "DivisionManager"))

始终与

崩溃
  

&#34;发生了引用完整性约束违规:当依赖对象为Unchanged时,除非将其设置为关联的主体对象,否则无法更改作为参照完整性约束一部分的主键属性。必须跟踪主要对象,不要将其标记为删除。&#34;

我的Employee模型继承自IdentityUser,并使用Id键作为主键。

public class Employee : IdentityUser
{
    ....
}

我不明白EF如何将下面的查询视为尝试改变PK。有人可以帮忙吗?

0 个答案:

没有答案