2009-11-11 55 views
0

更改鍵列名我有一個實體:FluentNHibernate:不能爲一個一對多的關係

public class Message:Entity 
    { 
     public virtual IList`<`Message> ReplayMessages { set; get; } 
     public virtual Message ParentMessage { set; get; } 
    } 

I try to override the mapping: 
mapping.HasMany(x => x.ReplayMessages) 
       .AsSet() 
       .KeyColumnNames.Add("ParentId"); 

但在hbm.xml文件中我得到:

<set name="ReplayMessages"> 
     <key column="MessageFk" /> 
     <one-to-many class="Edi.Core.Model.Message, Edi.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> 
    </set> 

爲什麼列鍵名稱沒有改變?

+0

重新標記爲「流利,NHibernate的」使用比較流行的標籤 – ddc0660 2009-11-11 16:09:22

回答

0

當我使用的hasMany它看起來像這樣:

HasMany(x => x.OrderItems) 
    .KeyColumn("OrderId") 
    .AsSet() 
    .Cascade.All(); 

我不知道什麼KeyColumnNames用於...

+0

我不要獲取KeyColumn,只有KeyColumnNames。爲什麼? – Lullaby 2009-11-12 06:48:48

+0

你需要更新你的Fluent NHibernate的副本。 1.0 RTM在幾個月前發佈了。 – 2009-11-12 11:48:06