2009-04-16 9 views
2

私は非常に特別なNHibernateマッピングの場合があります。クラスはそれ自身への参照を持ちます。NHibernate内の自己参照をマップする方法

public class MyClass 
{ 
    public Guid Id { get; set; } 
    public MyClass SelfReference { get; set; } 
} 

データベーステーブルには、同じテーブルの主キーに外部キーフィールドがあります。イベントが悪い場合、この自己参照はnullになる可能性があります。

マップすることは可能ですか?どのようにこれを行うことができますか?

答えて

3

一対一のは、主キーを同期するために使用することができ、まれに私の経験では、多対1の「自然」の関連が「普通の」参照のために使用されています。

0

他の1対1の関係と同じように扱うようですね。

+0

nullでもかまいませんか? –

0

私はそのシンプルな1対1だと思います。あなたがツリーをマッピングために喜んでいるように私はこれは

<one-to-one 
name="PropertyName" 
class="ClassName" 
cascade="all|none|save-update|delete" 
constrained="true|false" 
fetch="join|select" 
property-ref="PropertyNameFromAssociatedClass" 
access="field|property|nosetter|ClassName"/> 
3

のuを助けることを願っています

は思え:

http://nhibernate.hibernatingrhinos.com/16/how-to-map-a-tree-in-nhibernate

+0

NHibernateは多対1リレーションシップのみをマッピングできますか?通常は、常に両方のサイトが必要です。 –

+0

もう一方の端もマップできます。 あなたは終了する必要があります: 現在のノードの子を含む1対多の数 現在のノードの親を参照する1対1 –

+2

リンクが壊れていますか? – Erez