私はこの質問を以前に聞いたことがありますが、私は誤った言い方をしていると思うので、ここでは2番目の試みです。私は次のコードを持っています:ApplyPropertyChangesとReferences
public User EditUser(User userToEdit)
{
//userToEdit contains values for eagerly loaded contacts entity
User originalUser = (from u in _entities.UserSet.Include("contacts")
where u.ID == userToEdit.ID
select u).FirstOrDefault();
_entities.ApplyPropertyChanges(originalUser.EntityKey.EntitySetName, userToEdit);
_entities.SaveChanges();
return userToEdit;
}
かなりまっすぐです。ただし、連絡先エンティティは更新されません。わかりやすい読み込みでは、データコンテキストにエンティティが追加されるため、デタッチされたuserToEditでApplyPropertyChangesが呼び出されると、userToEditの連絡先への変更は添付された連絡先エンティティに適用されます。私は何が欠けていますか?
非常にありがとう、それはトリックを行うように見えます。私は熱心に4.0のベータ2を待っていますが、私がEFで持っていた頭痛の大部分は、彼らが対処されるように見えます。 –
ありがとうございます。あなたはuserToEdit.Contactsがコレクションではないと言っていました。 userToEdit.Contactsがコレクションであり参照ではない場合、どのように変更する必要がありますか。私の場合、項目はEntityCollection型です。助けてください。 –