私はクラスUserを持っています。 UserOneとUserTwoはユーザーです。 UserTwoのすべての外部キー関係をUserOneに転送する必要があります。エンティティコア内のすべての外部キーのナビゲーションを更新します。
私はやって手動でこれを行うことができます:
userTwo.PostsCreatedByUser.ToList().ForEach(a => a.CreatedByUserId = userOne.Id);
userTwo.NotesCreatedByUser.ToList().ForEach(a => a.CreatedByUserId = userOne.Id);
context.SaveChanges();
をしかし、この動的を行う方法があった場合、私は不思議でしたか? 上記の方法で、CreatedByUserId列を持つ新しいテーブルを追加する場合、この手順に戻り、新しいコレクションで更新する必要があります。ここで
は、例えば、クラスの概要である:
public partial class User
{
public User()
{
PostsCreatedByUser = new HashSet<Post>();
NotesCreatedByUser = new HashSet<Note>();
}
public virtual ICollection<Posts> PostsCreatedByUser { get; set; }
public virtual ICollection<Notes> NotesCreatedByUser { get; set; }
}
public partial class Post
{
public Post() { }
public int CreatedByUserId { get; set; }
public virtual User CreatedByUser { get; set; }
}
public partial class Note
{
public Note() { }
public int CreatedByUserId { get; set; }
public virtual User CreatedByUser { get; set; }
}
あなたの唯一の他の選択肢は、反映されているようです。 – gldraphael