다음을 통해 공유


데이터 업데이트(EntityDataSource)

업데이트: 2007년 11월

EntityDataSource 컨트롤을 사용하면 GridView, DetailsView 또는 FormView 컨트롤 같은 데이터 바인딩된 웹 서버 컨트롤에서 데이터 소스에 대한 업데이트를 제출할 수 있습니다. EntityDataSource 컨트롤은 ObjectContext 클래스의 인스턴스를 사용하여 데이터베이스에 업데이트된 값을 제출합니다.

데이터 업데이트를 위한 고려 사항

EntityDataSource 컨트롤을 사용하여 데이터 소스에 대한 업데이트, 삽입 및 삭제를 제출하는 경우 다음 사항을 고려해야 합니다.

  • 데이터를 업데이트하려면 EnableInserts(), EnableUpdates() 또는 EnableDeletes() 속성 중 적어도 하나를 true로 설정해야 합니다.

  • EntityDataSource 컨트롤을 사용하여 데이터 소스를 업데이트하는 경우 한 번에 한 개체에 대한 업데이트만 제출할 수 있습니다.

  • 업데이트를 사용할 경우 EntityDataSource 컨트롤의 CommandText, SelectGroupBy 속성을 사용할 수 없습니다.

  • ObjectContext에서 개체를 추가, 수정 및 삭제하여 데이터 바인딩된 컨트롤 외부에서 데이터 소스에 대한 업데이트를 제출할 수 있습니다. 자세한 내용은 How to: Add, Modify, and Delete Objects (Entity Framework)를 참조하십시오. SaveChanges 메서드를 호출하여 ObjectContext의 변경 내용을 데이터 소스에 커밋한 후에는 데이터 바인딩된 컨트롤에서 DataBind 메서드를 호출하여 컨트롤을 데이터 소스의 최신 데이터로 업데이트합니다.

뷰 상태에서 개체 데이터 저장

업데이트 작업을 사용할 때 변경 내용을 추적하려면 EntityDataSource 컨트롤이 페이지의 뷰 상태에서 로드된 개체의 원래 속성 값에 대한 정보를 저장해야 합니다. HTTP 요청에서 개체 속성의 원래 값을 보존하면 개체 서비스가 원래 값과 현재 값을 비교하여 동시성을 관리합니다. 개체 서비스가 동시성을 관리하는 방법에 대한 자세한 내용은 Change Tracking and Identity Resolution (Entity Framework)을 참조하십시오.

뷰 상태에서 이 필수 정보를 저장하면 페이지 크기가 증가합니다. StoreOriginalValuesInViewState 속성을 false로 설정하여 뷰 상태에서 값이 저장되지 않도록 할 수 있습니다. 이렇게 하면 개체 서비스가 업데이트된 개체의 동시성을 추적할 수 없으며 사용자가 직접 동시성 확인을 구현해야 합니다. 이러한 동시성 확인에서는 데이터 바인딩된 컨트롤에 수행된 업데이트가 데이터 소스에 수행된 변경된 내용과 충돌하지 않는지 확인해야 합니다. 자세한 내용은 변경 내용 저장 및 동시성 관리(Entity Framework)를 참조하십시오.

참고 항목

개념

EntityDataSource 컨트롤 구성

EntityDataSource 디자이너

개체 컨텍스트 수명 주기 관리(EntityDataSource)

기타 리소스

Working with Objects (Entity Framework)