> 백엔드 개발 > C++ > Entity Framework 4: `AttachObject`와 `AddObject`를 언제 사용해야 합니까?

Entity Framework 4: `AttachObject`와 `AddObject`를 언제 사용해야 합니까?

Mary-Kate Olsen
풀어 주다: 2025-01-10 14:02:42
원래의
380명이 탐색했습니다.

Entity Framework 4: When to Use `AttachObject` vs. `AddObject`?

Entity Framework 4: AddObjectAttach

익히기

Entity Framework의 효과적인 사용은 ObjectSet.AddObjectObjectSet.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 엔터티를 생각해 보세요. PersonAddress 개체를 모두 로드했지만 관계가 설정되지 않은 경우 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿