nhibernate INamingStrategy - 在columnName之前添加className

时间:2011-11-15 09:19:38

标签: c# nhibernate

我想在ID列之前添加className。例如。我有一节课,

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

并且可以映射文件,

 <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>

在INamingStrategy中,有一种改变属性名称的方法,

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

如果不在hbm.xml文件中定义ID,我该怎么做才能将ID更改为EMPLOYER_ID?在方法中,我没有className信息。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此代码:

DefaultNamingStrategy.Instance.LogicalColumnName(columnName, propertyName);