更新Entity Framework 4.1中的外键实体

我目前正在使用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 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(); } 

我已经确认两个对象都存在于更新点,但是成员资格外键永远不会持久存储到数据库中。 我确定我做的事情很简单。 任何见解将不胜感激。

谢谢。