DbSet从另一个上下文添加

时间:2017-04-03 14:56:52

标签: asp.net-mvc web-services

我有两种不同的服务,每种服务都有不同的上下文

#hexagon1 {
    width: 100px;
    height: 55px;
    background: red;
    position: absolute;
  z-index: 2;
}
#hexagon1:before {
    content: "";
    position: absolute;
    top: -25px;
    left: 0;
    width: 0;
    height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-bottom: 25px solid red;
}
#hexagon1:after {
    content: "";
    position: absolute;
    bottom: -25px;
    left: 0;
    width: 0;
    height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-top: 25px solid red;
}

#hexagon2 {
    width: 101px;
    height: 56px;
    background: black;
    position: relative;
  z-index: 1;
}
#hexagon2:before {
    content: "";
    position: absolute;
    top: -26px;
    left: 0;
    width: 0;
    height: 0;
    border-left: 51px solid transparent;
    border-right: 51px solid transparent;
    border-bottom: 26px solid black;
}
#hexagon2:after {
    content: "";
    position: absolute;
    bottom: -26px;
    left: 0;
    width: 0;
    height: 0;
    border-left: 51px solid transparent;
    border-right: 51px solid transparent;
    border-top: 26px solid black;
}

问题是当我尝试将_dbset = _contexto.Set<RecoveryUser>(); _dbset = _contexto.Set<User>(); 用于RecoveryUser上下文时,因为用户进入了另一个上下文。

所以我得到了:

  

无法将model.User转换为model.RecoveryUser

我想我可以在User上下文中创建另一个方法来接收recoveryUser的参数来解决它。但没有其他办法可以做到这一点?此致

1 个答案:

答案 0 :(得分:1)

自我解释错误:

  

无法将model.User转换为model.RecoveryUser

这意味着什么?即使两个实体(User和RecoveryUser)相似,即使具有相同的属性名称和类型,它们也不相同。你必须在它们之间进行转换。

如何解决:

_dbsetRecovery = _contexto.Set<RecoveryUser>();

_dbSetRecovery.Add(new RecoveryUser {
    UserId = user.UserId,
    // ... and all other properties
});