0

私はエンティティを持っています:

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>

列キー名が変更されなかったのはなぜですか?

4

1 に答える 1

0

HasMany を使用すると、次のようになります。

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

KeyColumnNames が何に使用されるのかわかりません...

于 2009-11-11T20:58:44.393 に答える