FluentNHibernate:1.3.0.733
NHibernate的:3.3.1.4000FluentNHibernate:ID列名稱忽略
我嘗試設置列名的ID列的,但它似乎被忽略。
編輯:
找到解決方案。屬性重新聲明(新修飾符)是問題(請參閱答案)。
我在約定和覆蓋中使用AutoMapping。
覆蓋:
public class OrderHeadMapping : IAutoMappingOverride<OrderHead>
{
public void Override(AutoMapping<OrderHead> mapping)
{
mapping.Schema("[database].[dbo]");
mapping.Table("OrderHeads");
mapping.Id(x => x.Id, "desiredColumnName")
.Column("desiredColumnName")
.GeneratedBy.UuidString();
...
}
}
這段代碼被執行,但列名保持 「ID」。
我已經導出映射到一個目錄,看看有什麼結果:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class xmlns="urn:nhibernate-mapping-2.2" schema="[database].[dbo]" name="OrderHead, Core, Version=1.0.4666.19686, Culture=neutral, PublicKeyToken=null" table="OrderHeads">
<cache usage="read-write" />
<id name="Id" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<column name="Id" />
<generator class="assigned" />
</id>
...
</class>
</hibernate-mapping>
我搜索我的「.ID(」和「.COLUMN(」整體解決方案,以確保它是沒有意外重置,但沒有結果處理設置/覆蓋ID列名稱。所以現在我有點失落。