通常、テーブルクラスごとに1:1のマッピングを作成します。NHibernateを使用して複数のテーブルの結果を返すプロシージャを呼び出す方法は?
例(テーブル):
[ユーザー]
USER_ID - PK
名
[トランザクション]
USER_ID - FK
ITEM_ID
量
例マッピング:
public class User
{
公開ストリングID {get; set;}
public string Name {get;セット;}
}
パブリッククラスの取引
{
公共の文字列のユーザーID {取得します。 set;}
公開ストリングItemID {get; set;}
公開10進数{get; set;}
}
しかし、最適化の問題や、結果を照会する際に操作が必要になることがあります。私たちは通常、複数のテーブルの結果を返すストアドプロシージャを使用します。 上記の例を使用すると、結合されたテーブルの結果を返すプロシージャをどのように呼び出すことができますか?この新しい組み合わせのレコードのためだけに新しいクラスとバインディングを作成せずに可能ですか?
ありがとうございます!
さらに複雑なカスタムSQLマッピングの例があります。かなり複雑なカスタムSQLマッピングの例は、http://nhibernate.svn.sourceforge.net/viewvc/nhibernate/trunk/nhibernate/src/で見つけることができます。 NHibernate.Test/NHSpecificTest/NH1612/Mappings.hbm.xml?revision = 3974 –
ありがとう!しかし、どのようにしてオブジェクト(ユーザクラスとトランザクションクラス)のリストで結果を得ることができますか?申し訳ありませんが、NHibernateではまだ新しいです。私はGetNamedQueryを使うことができると思いますが、結果を得るためにはどのメソッドを呼び出す必要がありますか? – eSPiYa
答えを更新しました。 –