1

Fluent NHibernateを使用して、請求書クラスをマッピングする方法の手がかりが必要です。

public class Buyer
{
    public virtual int Id { get; set; }

    public virtual string Name { get; set; }
    public virtual string TaxRegNo { get; set; } 
    // .... more properties....
}

public class Invoice
{
    public virtual int Id { get; set; }

    public virtual int IdBuyer { get; set; }
    public virtual Buyer Buyer { get; set; } 
    // ....more properties
}

問題は、請求書クラスに入れたいということです。

  • BuyerId-参照と外部キーの関係のための単なる整数ID
  • ほぼすべての購入者プロパティのコピー(その会計伝票とプロパティは確認後に変更できません)-コンポーネントとして

次のマッピングを使用してこれを試しましたが、機能しません

    public InvoiceMap()
    {
        Id(x => x.Id);

        References(x => x.IdBuyer);
        Component(x => x.Buyer, BuyerMap.WithColumnPrefix("buyer_"));
    // ....more properties
    }
4

1 に答える 1

4

通常、外部キーと子オブジェクトの両方をマップすることはありません。両方をマッピングする場合は、マッピング(または同様のもの)でこれを行います。

References(x => x.Buyer);
Map(x => x.IdBuyer).Column("BuyerId").Not.Insert().Not.Update();

次に、SQLステートメントの列名を2倍にしないでください。これにより、パラメーターの数が一致しない場合にエラーが発生します。

于 2009-12-02T15:58:42.297 に答える