2012-08-10 4 views
0

내 조직에서 현재 특정 규칙에 따라 custom stored procs을 자동 매핑하여 proc과 동일한 서명이있는 도메인 모델의 "get"메서드로 코드gen 프레임 워크 (.nEtTiers)를 사용하고 있습니다. 예를 들어 Customer 테이블이 있고 저장된 proc sp_custom_Customer_GetBySalesAmount (@salesAmount)가있는 경우 프레임 워크는 고객을 위해 생성 된 .NET 공급자에서 GetBySalesAmount (salesAmount)를 만듭니다.Entity Framework는 사용자 정의 getter에 대해 저장 프로 시저를 사용합니까?

EF는 엔터티에 대한 CRUD 작업을 위해 저장된 procs를 지원한다는 것을 알고 있습니다. 하지만 getters에 매핑되는 사용자 정의 저장된 procs에 대한 지원이 있습니까? 우리 조직은 EF를 사용하는 방향으로 움직이기를 원하며, 이것을 지원할 수 있으면 전환이 훨씬 원활해질 것입니다.

답변

1

EDMX가있는 EF는 저장 프로 시저 매핑을 지원합니다.이를 함수 가져 오기라고합니다. 현대 EF (4.x 또는 이후 버전)에서는 엔티티가 POCO라고하는 엔티티를 종속 계층에 종속시키지 않아야하므로 약간 다른 접근 방식을 취하기 때문에 함수 가져 오기가 컨텍스트 클래스에 추가됩니다 (엔티티 클래스가 아님).

EF에서 모든 것이 지원되지 않으므로 절차에 복잡성이 포함되어 있으면 저장 프로 시저 매핑이 약간 까다로울 수 있습니다. 예를 들어 TVP는 지원되지 않으며 .NET 4.5를 사용하는 EF 만 프로 시저에서 반환 된 여러 결과 집합을 지원합니다.

+0

감사합니다 Ladislav 나는 그것이 내가 찾고있는 것이라고 생각합니다. "함수 가져 오기"가 누락 된 키워드 인 것 같습니다. 나는 더 많은 연구를 할 것이다. 그리고 POCO 엔티티와는 대조적으로 컨텍스트 클래스에있는 함수와 관련해서는 이것이 완벽하게 이해할 수 있으며 제 사용에는 괜찮을 것이라고 생각합니다. – RationalGeek

+0

확인되었습니다. EF 4.1, 데이터베이스 우선, POCO가있는 DbContext로 프로토 타입을 만들었습니다. 가져온 함수는 getter 메서드로 DbContext에 추가되고 POCO 엔터티의 컬렉션을 반환합니다. 또한 proc의 out 매개 변수도 지원합니다. 감사! – RationalGeek

관련 문제