の列にプロパティのマッピング: 流暢NHibernateは - 私は、例えば、カップルのテーブルを持って参加しましたテーブル
- 製品メーカー{ Id、Name、...}
私はProductオブジェクトにManufacturerNameを含めることができます(名前が必要なときにManufacturer全体の行を読み込む必要はありません)。私のProductMapは次のようになっています...
Table("Product");
Id(x => x.Id, "Id");
Map(x => x.ProductName, "ProductName");
Map(x => x.ManufacturerId, "ManufacturerId");
References(x => x.Manufacturer, "ManufacturerId");
ProductオブジェクトのManufacturerNameプロパティに値を設定するには、何を追加する必要がありますか?私はいくつかの種類のJoin()呼び出しを行う必要があると信じていますが、関連するすべてのパラメータを使用してそれを記述する方法を理解するのに問題があります。現在のテーブル(Product)をProduct.ManufacturerId = Manufacturer.IdのManufacturerテーブルに結合し、Manufacturer.Name列を取得してオブジェクトのManufacturerNameプロパティを設定する必要があります。
これは、データベースが選択パラメータ内のサブクエリをサポートしていないOracleのバージョンであるという点を除いて、きれいな解決策に見えます。 (Ugh)ありがとう –
これを答えとして受け入れようとしているのは、おそらく99%の人々がこの質問に対する答えを探して来るからです。悲しいことに、私はこれがうまくいかない8年前のOracleデータベースを使用している1%です。 –
ああ..はい、私はOracle 9でテストしていたので、それはおそらくそれがそこで動作する理由です。さて、ヘルパーSQLビューを使って、列のサブセットだけを含む新しいエンティティにマップしてから、通常のProductの代わりに使用することができますが、主にシナリオに依存していると思います。 –