2009-09-01 1 views
1

이것은 Fluent NHibernate newbie 질문이므로 나와 함께하시기 바랍니다.Fluent NHibernate Automappings 무시

필자는 클래스 세트를 가지고 있으며, 오토 맵핑 기능을 적용하고 있습니다.

그러나 고유 제약 조건 중 하나의 기술 속성 중 하나를 표시해야합니다. 유창 위키에서

, 그것은

는 때로는 아무것도 에 영향을하고자하지 않고 특정 엔티티, 에 약간의 변경을 할 필요 말한다; 너는 오버라이드 방법으로 할 수있다.

.Override (MAP => {
map.HasMany (X => x.Products) .Cascade.All();});

그러나 .Override 메서드를 적용 할 개체를 알아낼 수 없습니다.

는 지금, 나는

AutoPersistenceModel returnModel = AutoMap.AssemblyOf()를

을하지만 AutoPersistenceModel 객체는 무시 방법이 없습니다.

누군가가 간단한 샘플 코드를 통해 나를 안내 할 수 있습니까? 아니면 몇 가지 예를 들어 링크가 있습니까?

감사합니다.

답변

3

1.0 RTM에서 Override 방법을 사용합니다. 다음과 같이 사용하십시오 :

AutoMap.AssemblyOf<Person>().Override<Shelf>(map => 
{ 
    map.HasMany(x => x.Products).Cascade.All(); 
}); 
+0

흠. 참조하는 FluentNHibernate dll에는 제품 버전이 1.0.0.0이지만 Intellisense에는 Override 메서드가 표시되지 않습니다. 어쨌든 강제로 그것을 빌드하려고하면 "... AutoPersistenceModel에 Override ...에 대한 정의가 없습니다"라는 오류가 발생합니다. –

+0

올바른 버전의 어셈블리가 있는지 다시 확인해야합니다. http://fluentnhibernate.org/downloads/releases/fluentnhibernate-1.0RTM.zip에서 다운로드했으며 AutoPersistenceModel 클래스에는 확실히 Override 메소드가 있습니다. 또한 버전 1.0.0.0 대신 버전 1.0.0.593 –

+0

내 사과. 당신이 올바른지. 나는 1.0RTM 버전이 아니라 1.0RC 버전을 가지고있다. 당신의 도움을 주셔서 감사합니다. –