2009-04-29 3 views
4

Fluent NHibernate에서 References()는 'ReadOnly()'메소드를 지원하지 않는 객체를 반환합니다. 나는 맵핑의 종류 (즉, 업데이트가 언급 된 항목에 전파되지 않습니다 하나) 만들려고 해요Fluent NHibernate References() 매핑에서 ReadOnly를 설정할 수없는 이유는 무엇입니까?

: 정상에

<many-to-one update="false" insert="false" 
name="DestinationSheet" column="DestinationSheetNumber" /> 

을 (지도()) 매핑, 두 속성이 될 수 있습니다 ReadOnly()로 설정합니다.

나는이 같은 일을 할 싶습니다

References(x => x.DestinationSheet). 
     ColumnName("DestinationSheetNumber").ReadOnly(); 

내가 수동으로 삽입 SetAttributes()를 사용하여 속성, 즉 잘 작동 업데이트를 추가 할 수 있습니다,하지만 난 사실 그 걱정이 읽기 전용()가 References()에 존재하지 않는다는 것을 알았습니다.

왜이 문맥에서 ReadOnly()를 사용할 수 없는지 아는 사람이 있습니까?

답변

5

아직 구현되지 않았습니다. 시간이 지남에 따라 우리는 NHibernate의 모든 기능을 지원하게 될 것이다. 그러나 그때까지 SetAttribute 메소드는 당신이 계속할 수있게 해준다.

제쳐두고, 우리는 패치를받습니다! 제임스 그레고리에서 제공하는 답변

+0

이미이 문제에 대한 공개 문제가 있습니다. http://code.google.com/p/fluent-nhibernate/issues/detail?id=203 –

+0

감사합니다. 패치를 작성하려고했으나 그것을 맞았습니다 ... –

+0

패치 적용 방법을 모르는 사람들에게 어떻게 패치를 적용합니까? –

0

참조는 다 대일 매핑을 만들고 according to the documentation은이 매핑에서 읽기 전용이 지원되지 않습니다. 업데이트 및 삽입을 false로 설정하는 방법은 나에게 맞습니다. AFAIK, Fluent NHibernate 프로젝트는 NHibernate의 모든 매핑 기능을 지원할 계획이지만 그때까지 SetAttributes를 사용해야 할 것입니다.

+0

감사입니다 - 유창함 NH 이미 읽기 전용을 구현 (예를 들어지도())는 삽입을 설정하여 너무 단순하게 수행하고 삭제 않는 개체에 대한 속성 - 인용 한 문서에 있습니다. 나는 이것이 Fluent의 누락이라고 생각하기 시작했습니다. –

+0

그리고, 필자의 매핑 XML이 원본 게시물에 포함되지 않았기 때문에 따라하기가 다소 어려웠습니다. 미안합니다. –

0

구현이에 대한

References(x => x.Store).TheColumnNameIs("StoreId").SetAttribute("update","false"); 
관련 문제