FluentNHibernate:无法更改一对多关系的键列名

时间:2009-11-11 15:55:05

标签: fluent-nhibernate datacolumn

我有一个实体:

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>

为什么列键名没有改变?

1 个答案:

答案 0 :(得分:0)

当我使用HasMany时,它看起来像这样:

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

我不知道KeyColumnNames用于...