다음을 통해 공유


방법: 저장 프로시저에 수정 함수 매핑

이 항목에서는 ADO.NET 엔터티 데이터 모델 디자이너(Entity Designer)를 사용하여 엔터티 형식의 삽입, 업데이트 및 삭제 작업을 저장 프로시저에 매핑하는 방법에 대해 설명합니다.

Entity Framework는 개념적 모델의 엔터티 컨테이너를 나타내며 ObjectContext에서 파생된 클래스를 생성합니다. 파생 클래스의 이름은 개념적 모델 파일에 있는 EntityContainer의 이름입니다. 이 클래스는 기본 데이터베이스에 대한 업데이트를 트리거하는 SaveChanges 메서드를 노출합니다. 이러한 업데이트는 시스템에서 자동으로 생성된 SQL 문을 사용하거나(기본값) 개발자가 지정한 저장 프로시저를 사용할 수 있습니다. 데이터베이스를 업데이트하는 데 저장 프로시저를 사용하는지 여부에 관계없이 엔터티를 만들고, 업데이트하고, 삭제하는 데 사용되는 응용 프로그램 코드는 동일합니다.

엔터티 형식의 삽입, 업데이트, 삭제 작업을 저장 프로시저에 매핑하는 경우 다음을 수행해야 합니다.

  • 세 가지 작업을 모두 저장 프로시저에 매핑합니다.

  • 일관성 있게 연결을 매핑합니다. 한 작업을 위해 저장 프로시저가 연결에 매핑되는 경우 다른 두 작업도 연결에 매핑되어야 합니다.

  • 일대일 관계가 있는 관련 엔터티를 저장 프로시저에 매핑합니다. 엔터티가 일대다 또는 다대다 관계로 다른 엔터티에 관련된 경우 관련 엔터티를 저장 프로시저에 매핑할 필요가 없습니다.

저장 프로시저에 삽입 작업 매핑

삽입 작업을 저장 프로시저에 매핑하려면

  1. 솔루션 탐색기에서 <model name>.edmx 파일을 두 번 클릭합니다.

    파일이 Entity Designer에서 열립니다.

  2. 삽입 작업을 매핑할 엔터티 형식을 마우스 오른쪽 단추로 클릭합니다.

  3. 저장 프로시저 매핑을 선택합니다.

    매핑 정보 창의 엔터티 함수에 매핑 창이 나타납니다.

  4. **<Insert Function 선택>**을 클릭합니다.

  5. 드롭다운 목록에서 삽입 작업을 매핑할 저장 프로시저를 선택합니다.

    엔터티 속성과 저장 프로시저 매개 변수 간의 기본 매핑으로 창이 채워집니다.

  6. 각 저장 프로시저 매개 변수에 대해 해당 속성 필드를 클릭하고 드롭다운 목록에서 적절한 속성을 선택하여 매핑을 적절하게 수정합니다.

    Cc716711.note(ko-kr,VS.100).gif참고:
    모든 엔터티 키에 매핑이 있어야 합니다. 저장 프로시저에서 INSERT 문을 사용하는 경우 엔터티 키는 대체로 새 행을 삽입할 때 만들어진 기본 키에 매핑됩니다. 다음 몇 단계에서는 저장 프로시저에서 반환된 데이터를 엔터티 속성에 매핑하는 방법에 대해 설명합니다.

  7. **<Result Binding 추가>**를 클릭합니다.

    필드를 편집할 수 있는 상태가 됩니다.

  8. 저장 프로시저에서 반환된 데이터가 포함되는 매개 변수 이름을 입력합니다.

  9. 매개 변수 이름에 해당하는 속성 필드를 클릭합니다.

    이 필드는 속성의 드롭다운 목록이 됩니다.

  10. 반환된 데이터를 매핑할 속성을 선택합니다.

  11. 각 반환 값과 매핑되지 않은 속성에 대해 7-10단계를 반복합니다.

이제 선택한 엔터티 형식의 삽입 작업이 저장 프로시저에 매핑되었습니다.

저장 프로시저에 업데이트 작업 매핑

업데이트 작업을 저장 프로시저에 매핑하려면

  1. 솔루션 탐색기에서 <model name>.edmx 파일을 두 번 클릭합니다.

    파일이 Entity Designer에서 열립니다.

  2. 업데이트 작업을 매핑할 엔터티 형식을 마우스 오른쪽 단추로 클릭합니다.

  3. 저장 프로시저 매핑을 선택합니다.

    매핑 정보 창의 엔터티 함수에 매핑 창이 나타납니다.

  4. **<Update Function 선택>**을 클릭합니다.

  5. 드롭다운 목록에서 업데이트 작업을 매핑할 저장 프로시저를 선택합니다.

    엔터티 속성과 저장 프로시저 매개 변수 간의 기본 매핑으로 창이 채워집니다.

  6. 각 저장 프로시저 매개 변수에 대해 해당 속성 필드를 클릭하고 드롭다운 목록에서 적절한 속성을 선택하여 매핑을 적절하게 수정합니다.

  7. 각 속성에 대해 선택적으로 Original Value 사용 열의 상자를 선택할 수 있습니다.

    Original Value 사용 옵션을 통해 동시성 제어를 사용할 수 있습니다. 속성에 대해 Original Value 사용 옵션을 선택하면 데이터베이스에서 읽은 속성 값이 지정한 저장 프로시저 매개 변수로 전달됩니다. 속성의 원래 값과 현재 값을 서로 다른 매개 변수에 모두 전달할 수 있습니다.

    Cc716711.note(ko-kr,VS.100).gif참고:
    업데이트 작업을 매핑하는 경우 저장 프로시저에서 반환된 데이터를 엔터티 속성에 매핑할 수 있습니다. 다음 몇 단계에서는 저장 프로시저에서 반환된 데이터를 엔터티 속성에 매핑하는 방법에 대해 설명합니다.

  8. **<Result Binding 추가>**를 클릭합니다.

    필드를 편집할 수 있는 상태가 됩니다.

  9. 저장 프로시저에서 반환된 데이터가 포함되는 매개 변수 이름을 입력합니다.

  10. 매개 변수 이름에 해당하는 속성 필드를 클릭합니다.

  11. 드롭다운 목록에서 반환된 데이터를 매핑할 속성을 선택합니다.

  12. 각 반환 값에 대해 선택적으로 8-11단계를 반복합니다.

이제 선택한 엔터티 형식의 업데이트 작업이 저장 프로시저에 매핑되었습니다.

저장 프로시저에 삭제 작업 매핑

삭제 작업을 저장 프로시저에 매핑하려면

  1. 솔루션 탐색기에서 <model name>.edmx 파일을 두 번 클릭합니다.

    파일이 Entity Designer에서 열립니다.

  2. 삭제 작업을 매핑할 엔터티 형식을 마우스 오른쪽 단추로 클릭합니다.

  3. 저장 프로시저 매핑을 선택합니다.

    매핑 정보 창의 엔터티 함수에 매핑 창이 나타납니다.

  4. **<Delete Function 선택>**을 클릭합니다.

  5. 드롭다운 목록에서 삭제 작업을 매핑할 저장 프로시저를 선택합니다.

    엔터티 속성과 저장 프로시저 매개 변수 간의 기본 매핑으로 창이 채워집니다.

  6. 각 저장 프로시저 매개 변수에 대해 해당 속성 필드를 클릭하고 드롭다운 목록에서 적절한 속성을 선택하여 매핑을 적절하게 수정합니다.

    Cc716711.note(ko-kr,VS.100).gif참고:
    연결을 저장 프로시저 매개 변수에 매핑해야 합니다. 속성 드롭다운 목록에서 연결을 선택할 수 있습니다.

참고 항목

작업

연습: 저장 프로시저에 엔터티 매핑

기타 리소스

Stored Procedure Support (Entity Framework)
Application Code Using Stored Procedures (Entity Framework)