2012-04-04 1 views
1

오차드 모듈에서 N : N 관계를 생성하기 위해 http://docs.orchardproject.net/Documentation/Creating-1-n-and-n-n-relations 가이드를 조정하려고하는데 "NHibernate.Collection.Generic.PersistentGenericBag`1 [ArealAds를 캐스팅 할 수 없음] 예외가 발생합니다 .Models.StreetAreaRecord]를 System.Collections.Generic.List`1 [ArealAds.Models.StreetAreaRecord]로 변경합니다. 나는 뒤에서 무슨 일이 일어나고 있는지 완전히 이해하지 못하기 때문에 디버깅하기가 어렵다. 이 오류의 가능한 원인은 무엇입니까? 나는 어디에서보기 시작합니까?과수원의 PersistentBag 예외

답변

1

당신은, IList<T> (또는 더 일반적인 IEnumerable<T>)에 List<T>에서 관련 항목 수집의 유형을 변경해야합니다.

similar issue을 참조하십시오.

+0

이미 변경되었거나 변경된 사항이 없습니다. –

+0

모든 필요한 장소에서 변경했는지 확인하십시오. 또한 더 나은 통찰력을 얻으려면 레코드 클래스에 대한 전체 코드를 붙여주십시오. 나는 다음과 같은 서명을 사용하고있다 :'public virtual IList RelatedRecords {get; 세트; }'문제없이 작동합니다. –

+0

그게 전부였던 것 같습니다. –

1

가이드를 올바르게 따르지 않았습니다. 이 문서에는 n-n 관계의 예가 있으며 작동합니다. 코드를 보지 않고서는 무엇이 잘못되었는지 말하기는 어렵지만 어떻게 든 자습서와 달라야합니다. 살펴볼 수있는 또 다른 예제는이 모듈의 번들 부분 인 https://bitbucket.org/bleroy/nwazet.commerce입니다. 그것은 콘텐츠 항목들 사이에 n-n 관계를 설정합니다. 이 (IList<T>를 구현) 내부 항목 컬렉션의에 NHibernate에이 속성을 매핑 할 수