2009-11-11 36 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