Fluent nhibernate FluentNHibernate:can';t更改一对多关系的键列名
我有一个实体:Fluent nhibernate FluentNHibernate:can';t更改一对多关系的键列名,fluent-nhibernate,datacolumn,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.ReplayMess
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");
公共类消息:实体
{
公共虚拟IList`ReplayMessages{set;get;}
公共虚拟消息父消息{set;get;}
}
我尝试覆盖映射:
mapping.HasMany(x=>x.ReplayMessages)
1.资产()
.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>
为什么列键名称没有更改?当我使用HasMany时,它看起来是这样的:
HasMany(x => x.OrderItems)
.KeyColumn("OrderId")
.AsSet()
.Cascade.All();
我不知道KeyColumnNames用于什么…重新标记为“fluent nhibernate”以使用更流行的tagI不获取KeyColumn,仅获取KeyColumnNames。为什么?你需要更新你的Fluent NHibernate副本。1.0 RTM是在几个月前发布的。