2011-11-15 5 views
0

ID 열 앞에 className을 추가하려고합니다. 예를 들어. I 클래스,nhibernate INamingStrategy - columnName 앞에 className을 추가하십시오.

public class Employer { 
    public long ID {get;set;} 
    } 

을 가지고 있고, INamingStrategy에서

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" ... > 
    <class name="Employer" > 
    <id name="ID"> 
     <generator class="sequence" > 
     <param name="sequence">Employer_Seq</param> 
     </generator> 
    </id> 
</hibernate-mapping> 

을 파일을 매핑 할 수 있습니다, 내가 ID를 변경하려면 어떻게해야하나요 속성 이름을 변경할 수있는 전자 방식,

public string PropertyToColumnName(string propertyName) 
     { 
      propertyName =Up(DefaultNamingStrategy.Instance.PropertyToColumnName(propertyName)); 
      return propertyName; 
     } 

있다 hbm.xml 파일에 정의하지 않고 EMPLOYER_ID에? 방법에서는 className 정보가 없다.

+0

I가 가능한 경우 확실하지 않다. 그런데 왜 CS에서 Employer_ID로 ID를 변경해야한다고 생각하십니까? 스키마 수준에 있다면 조인 등의 경우 tablename_Id 표준을 사용하는 것이 분명합니다. 그런데 왜 물건에? – Illuminati

답변

0

대신이를 사용하여 시도 할 수 :

DefaultNamingStrategy.Instance.LogicalColumnName(columnName, propertyName); 
+0

어떻게 도움이 될까요? – Illuminati

+0

db의 열을 매핑의 속성에 매핑하지 않습니까? – willDaBeast

+0

DefaultNamingStrategy.Instance.LogicalColumnName 메서드에 대해 INamingStrategy를 디버깅했습니다. 그러나 mothod는 결코 불리지 않았다. Method를 사용하기 위해 NHibernate를 만들기 위해 무엇을해야 하는가? – whitestream

관련 문제