(関連エンティティとして)も、その後Address
Person
は、モデルの一部であり、Person
はAddress
のコレクションを持っている場合(あなたがモデルから明示的にアドレス収集を除外されない限り)モデルの一部です。
public class MyContext : DbContext
{
public DbSet<Person> People { get; set; }
public DbSet<Address> Addresses { get; set; }
}
がUpdateAdress
ためにあなたがして使用することができます:あなたが望んでいないか、追加できない場合でも
public void UpdateAddress(Address addr)
{
using (var context = new MyContext())
{
var addressInDb = context.Addresses.Find(addr.Id);
context.Entry(addressInDb).CurrentValues.SetValues(addr);
context.SaveChanges();
}
}
それはあなたが単にヘルパープロパティとしてDbContextにアドレスセットを追加できることを意味しますあなたは(限り、Tがモデルのエンティティであるとして - とAddress
は1でなければなりません)コンテキストのSet<T>()
方法を使用することができますコンテキストにAddresses
DbSet:
public void UpdateAddress(Address addr)
{
using (var context = new MyContext())
{
var addressInDb = context.Set<Address>().Find(addr.Id);
context.Entry(addressInDb).CurrentValues.SetValues(addr);
context.SaveChanges();
}
}
Addre ssオブジェクトはPersonIdプロパティを持つ必要がありますか? – sternr
はいPersonIdを持っています – soundslike
特定のAddressオブジェクトのみを更新し、それをWCFに渡し、それに応じてPersonIdプロパティを設定することを忘れないでください。 – sternr