我目前正在使用WebApi构建REST服务,后备存储正在使用EF4.1。我遇到了障碍,我无法更新外键......
2个模型类看起来像:
public class User
{
[Key]
public int UserId { get; set; }
public string Name { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Gender { get; set; }
//
// Membership
public Membership Membership { get; set; }
}
public class Membership: Base
{
[Key]
public int MembershipId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public virtual Collection<User> Users { get; set; }
}
我的应用程序填充User对象和Membership对象,并将它们传递给以下Update方法:
public User Update(User entity)
{
if(entity.Membership != null)
dbContext.Memberships.Attach(entity.Membership);
dbContext.Entry(entity).State = EntityState.Modified;
dbContext.SaveChanges();
}
我已确认两个对象都存在于更新点,但成员资格外键永远不会持久存储到数据库中。我确定我做的事情很简单。任何见解将不胜感激。
感谢。