우리는 코어 제품 스위트 (데이터베이스에서 가져온 엔티티)에서 사용되는 ~ 300 개의 엔티티를 포함하는 EF4 EDMX를 보유하고 있습니다.코어 Edmx 확장, EF4에있는 여러 Edmx
신규 고객이 생기면 추가 정보를 저장하고 비즈니스 도메인 및 사용자 정의 외부에있는 사용자 정의 프로세스를 개발해야합니다. 예 : 우리는 보안 회사와 계약을 맺었으며 보안 수준에 대한 정보를 저장하고 이러한 수준에서 작동하는 프로세스를 원했습니다.
모든 경우에 사용자 지정 테이블을 추가하거나 기존 엔터티에 사용자 지정 필드를 추가해야합니다. 우리는 핵심 클래스 라이브러리가 사용자 정의 테이블 등으로 junk되지 않은 이전 기술로이를 수행했습니다. 우리는 커스텀 클래스 라이브러리에서 핵심 엔터티 (EF의 EntityObject에 상응 함)를 계승하고 필요에 따라 사용자 지정을 추가했습니다.
마찬가지로 우리는 이러한 맞춤 테이블과 속성을 핵심 EDMX에 추가하고 싶지 않습니다. 우리는 커스텀 화를 추가 할 수있는 별도의 클래스 라이브러리에있는 새로운 커스텀 EDMX에서 코어 EDMX로부터 본질적으로 "상속 (Inherit)"하고 싶습니다. 상속을 통해 Core EDMX에서 할 수있는 모든 것을 할 수 있습니다.
우리는 (우리는 모델 첫 번째 방법을 사용하지 않는)이 블로그 게시물을 기반으로 우리의 저장소를 생성하는 T4 템플릿을 사용하는 우리가 필요로 같은
우리가 EDMX을 연장 할 수 있습니까?
public static class CoreEntityExtensions
{
public static EntityConnection EntityConnection;
public static CustomUserEntity CustomUserDetails(this User coreUser)
{
ICustomUserEntityRepository customUserRepository = new CustomUserEntityRepository(EntityConnection);
return customUserRepository.All().SingleOrDefault(u => u.id == coreUser.id);
}
}
이 비록 몇 가지 분명한 이유 적합하지 않습니다 :
우리는 하나 개의 hackish 솔루션, 아래에서와 같이 별도의 EDMX에서 사용자 지정 엔터티를 반환 핵심 엔티티의 방법 확장 함께했다.도움을 주시면 감사하겠습니다.
그 방법을 찾았습니까? – frabiacca