2010-12-16 8 views
2

업데이트하고 싶은 User 클래스가 있습니다. 저의 데이터베이스에는 FirstName과 Lastname이라는 두 개의 열이있는 User 테이블이 있습니다. 두 테이블을 가운데에 공백으로 연결 한 DisplayName이라는 계산 열이 있습니다. 표시 이름에 대한 NHibernate에 매핑 내가 객체와 동기의 DB 행을 유지하기 위해 가정, 나는 사용자 개체를 업데이트하고 트랜잭션을 커밋 할 때NHibernate 업데이트는 행의 계산 된 열을 선택하게합니다.

<property name="DisplayName" type="string" generated="always"/> 

은, NHibernate에 그냥 DisplayName 속성에 추가 선택 문을 실행합니다. 객체가 나중에 범위를 벗어날 때 필요하지 않습니다.

NHibernate에게 현재 업데이트 된 DisplayName을 가져올 필요가 없다고 말할 수있는 것이 있습니까?

감사합니다, F.

+0

대답 할 수는 없지만 그 계산이 User 객체의 일부가되는 것이 아닌가? (예 : Firstname 및 Lastname 속성을 연결하는 C# 속성). 그렇게하면 데이터 액세스 레이어를 사용할 필요가 없습니다. – UpTheCreek

+0

displayname에 대해 선택/검색 할 수 있도록 매핑에 있습니까? – Phill

+0

@UpTheCreek - 나는 똑같은 말을하려고했으나, 아마도 그는 그것에 대해 질문하려고했을지도 모른다고 생각했습니다. 클래스의 속성으로 'fullname'형식의 작업을 수행 한 적이 있으며 매핑의 일부로 사용하지 않았습니다. – Phill

답변

2

generated="always" 정확히 그 의미 : "이 DB에 의해 내가이 행을 수정할 때마다 생성 된 값이며, 나를 위해 그것을 새로 고치십시오."

NH에는 "특정 열이 변경된 경우에만 새로 고침"과 같은 개념이 없습니다.

제 의견으로는 DB 대신 도메인 모델에서 해당 값을 생성해야합니다.

+0

이제 결정되었습니다. 감사합니다 여러분! – Michali

관련 문제