nhibernate、名前の名前を付けたメタデータを読む方法は?
-
02-10-2019 - |
質問
NhibernateマッピングファイルにSQL-queryが定義しているSQL-Queryがあり、ストアドプロシージャを呼び出してレコードを選択します。
<sql-query name="sp_MYSP">
exec MYDBSP :param1, :param2, :param3
</sql-query>
コードでは、この方法で指定されたクエリを呼び出します。
IQuery myQuery= Session.GetNamedQuery("sp_MYSP");
myQuery.SetString("param1", p1);
myQuery.SetString("param2", p2);
myQuery.SetString("param3", p3);
結果を取得するには、「リスト」メソッドを使用します
myQuery.List();
しかし、このようにして、列のようなメタ情報のないオブジェクトのリストを返します。特定のプロパティの価値を取得するためにデータテーブルのような結果を読みます...どうすればよいですか?
選択されたレコードは、私のドメインモーダルのエンティティを表すものではなく、特定のプロセスに使用するデータのコレクションのみです。
解決 2
あなたが正しい。
ただし、この記事からCodeProjetで公開されている別のソリューションが見つかりました。 http://www.codeproject.com/kb/tips/execute_sql_nhibernate.aspx
私のシナリオに適しています。
他のヒント
そのクエリをエンティティにマッピングしていない場合、データテーブルを期待していない場合、なぜNhibernateを使用するのですか?
残りのデータ(Session.Connection)に実際にそれを使用し、そこから生のADO.NETコマンドを作成している場合、Nhibernateから接続を取得できます。
所属していません StackOverflow