Entity Framework 4: AddObject
및 Attach
Entity Framework의 효과적인 사용은 ObjectSet.AddObject
및 ObjectSet.Attach
의 고유한 역할을 이해하는 데 달려 있습니다. AddObject
은 새로운 엔터티를 삽입하는 반면 Attach
은 기존 엔터티를 관리합니다. 다만, Attach
이 필요한 상황은 미묘할 수 있습니다.
Attach
의 주요 사용 사례 중 하나는 컨텍스트에서 분리된 엔터티와 관련이 있습니다. 이는 엔터티를 검색한 후 컨텍스트를 닫은 후에 자주 발생합니다. 수정을 위해 이 엔터티를 다시 참여시키려면 Attach
:
<code class="language-csharp">var existingPerson = new Person { Name = "Joe Bloggs" }; ctx.Persons.Attach(existingPerson); existingPerson.Name = "Joe Briggs"; ctx.SaveChanges();</code>
이렇게 하면 UPDATE
문이 생성되어 중복 데이터베이스 검색을 방지합니다.
Attach
의 또 다른 유용한 응용 프로그램은 자동 관계가 없는 기존의 컨텍스트 연결 엔터티를 연결하는 것입니다. Person
탐색 속성(Addresses
엔터티 모음)이 있는 Address
엔터티를 생각해 보세요. Person
및 Address
개체를 모두 로드했지만 관계가 설정되지 않은 경우 Attach
에서 다음과 같은 해결 방법을 제공합니다.
<code class="language-csharp">var existingPerson = ctx.Persons.SingleOrDefault(p => p.Name == "Joe Bloggs"); var myAddress = ctx.Addresses.First(a => a.PersonID != existingPerson.PersonID); existingPerson.Addresses.Attach(myAddress); ctx.SaveChanges();</code>
여기서 Attach
는 엔터티 자체를 수정하지 않고 관계를 업데이트합니다.
위 내용은 Entity Framework 4: `AttachObject`와 `AddObject`를 언제 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!