우리 조직에서는 v4가 출시되면 Entity Framework에서 표준화하려고합니다. 결과적으로 POCO 지원을 사용하여 지속성을 위해 Hibernate를 사용하는 애플리케이션을 EF4로 마이그레이션하는 데 필요한 것이 무엇인지 살펴 본다. 두 곳에서 단일 테이블 상속 (계층 구조 당 테이블이라고도 함)을 사용합니다. 나는 그것을 다음과 같이 사용해서 얻을 수 없었다.Entity Framework 4의 POCO 엔터티를 사용한 계층 구조 상속 당 표
지불 가 CreditCardPayment (구체적인 구현) ACHPayment (구체적인 구현) CheckPayment 지금 (구체적인 구현)
, 내가 그들을 매핑하고 (기본 클래스 [추상 그러나뿐만 아니라이 문제가되어야한다]) 기본 클래스 속성 만. 이러한 모든 클래스는 동일한 네임 스페이스에 있습니다. 데이터베이스에 PaymentTypeId라는 분 류자가 있으 G로 지불 맵핑에 "When PaymentTypeId = 0"조건이 있습니다. 각 하위 클래스는 동일한 값을 가진 조건이 동일합니다 (예 : CreditCardPayment = 1 등).
나는 DataContext.Payments.ToList()을 (를 DataContext가 된 ObjectContext에서 상속) 나는 다음과 같은 예외가 무엇입니까 사용하는 모든 지불의 각 목록을로드 할 때 :
"개체 매핑과 유형에 대한 찾을 수 없습니다 ID 'DataLayer.DataModel.CreditCardPayment'. "
POCO CreditCardPayment 클래스는 POCO Payment 클래스와 동일한 네임 스페이스 (실제로는 같은 파일에 있음)에 있으므로이 의미가 무엇인지 알 수 없습니다.
무엇이 누락 되었습니까?
감사합니다. Alex. 내 DataContext 클래스의 생성자에서 "this.MetadataWorkspace.LoadFromAssembly (typeof (CreditorCardPayment) .Assembly);" "_payments = CreateObjectSet();" 그러나 "개체 매핑을 찾을 수 없습니다. 유형 ..."오류가 남아 있습니다. 이들은 POCO 클래스 (Payment 및 CreditorCardPayment)이며, 여기서해야 할 일을 변경합니다. –
SteveBering