0

こんにちは私は2つのマッピングを持っています:

Ansprechpartner-マッピングファイル:

<class name="Book.Doa.Ansprechpartner, Book.Co" table="ANSPRECHPARTNER">
<id name="ID">
  <generator class="foreign">
    <param name="property">Parent</param>
  </generator>
</id>

<property name="AnsprechPartnerName" length="20" column="PARTNER"/>
<property name="KonfStandort" length="20" column="KONFERENZSTANDORT"/>

<one-to-one name="Parent"
        class="Book.Doa.Gebaeude, Book.Co" constrained="true"/>

Ansprechparter.CS:

public class Ansprechpartner : DomainObject<long>
{
    public virtual string AnsprechPartnerName { get; set; }
    public virtual string KonfStandort { get; set; }
    public virtual Gebaeude Parent { get; set; }

    public Ansprechpartner()
    {
    }
    public Ansprechpartner(

        string ansprechpartnername,
        string konfstandort,
        Gebaeude parent
        )
    {
        AnsprechPartnerName = ansprechpartnername;
        KonfStandort = konfstandort;
        Parent = parent;
    }
}

Gebaeude-マッピングファイル:

<class name="Book.Doa.Gebaeude, Book.Co">
    <id name="ID">
        <generator class="native">
            <param name="sequence">GLOBALSEQUENCE</param>
        </generator>
    </id>

    <property name="Bezeichnung" not-null="true" length="64" />
    <property name="Standort" column="Konfstandort" />

  <one-to-one name="Partner" lazy="false" cascade="all" fetch="join" outer-join="true"
   class="BookIt.Domain.Ansprechpartner, BookIt.Core"  />

</class>

Gebaeude.CS:

     public class Gebaeude : DomainObject<long>
    {

        public virtual string Bezeichnung { get; set; }
        public virtual string Adresse { get; set; }
        public virtual Stadt Stadt { get; set; }
        public virtual string Plz { get; set; }
        //Konferenzstandort ggf. unten noch hinzufügen.
        public virtual string KonfStandort { get; set; }

        public virtual Ansprechpartner Partner { get; set; }


         ......
}

彼らは1対1の関係を持っています。

値「AnsprechPartnerNamewith: room.Etage.Gebaeude.Ansprechpartner.AnsprechPartnerName

しかし、私は常にエラーが発生します:Object reference not set to instance of an object

何故ですか?その部分で何が間違っているのか。私の他のマッピングは完璧に機能しています。

誰か助けてもらえますか?

4

1 に答える 1

0

このエラーは、単にnullであるオブジェクトのプロパティにアクセスしようとしていることを意味します。マッピングに問題があることを意味するものではなく、提供されたデータに基づいてマッピングが問題であると考える理由はありません。

デバッガーを使用して、前述の式(room.Etage.Gebaeude.Ansprechpartner.AnsprechPartnerName)を中断し、各プロパティが設定されているかどうかを確認します。

そうではroomありませんnullか?

そうではroom.Etageありませんnullか?

そうではroom.Etage.Gebaeudeありませんnullか?

いずれかが設定されていない場合は、データベースにデータが実際に存在するかどうかを確認してください。そうして初めて、問題はマッピングにあると想定できます。

于 2012-11-13T14:56:09.823 に答える