В настоящее время я создаю службу REST с использованием WebApi, а резервное хранилище использует 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 и передает их обоим в следующий метод обновления:
public User Update(User entity)
{
if(entity.Membership != null)
dbContext.Memberships.Attach(entity.Membership);
dbContext.Entry(entity).State = EntityState.Modified;
dbContext.SaveChanges();
}
Я подтвердил, что оба объекта присутствуют в момент обновления, но внешний ключ членства никогда не сохраняется в базе данных. Я уверен, что делаю что-то простое неправильно. Любая идея будет принята с благодарностью.
Спасибо.