2010-11-30 18 views
1

クラスをSQL Serverテーブルにマップし、SQLの名前付きクエリを使用してそこからいくつかの行を取得しました。また、特定のページのすべての列が必要なわけではありません(たとえば、ドキュメントの場合は、「詳細の表示」ページのみに完全なコンテンツを表示したいのですが、タイトルはリストに表示され、ページ。Nhibernate SQLの名前付きクエリと投影

私は疑問に、テーブルのすべての列を選択しない場合、私は私が残してきた列にIndexOutOfRangeExceptionを取得します。

列のみIを投影する方法はあります「という名前のクエリ上で興味があるか、私はアプリケーションの異なるスコープのための余分なPOCOSを作成する必要がありますか?

よろしく、 F.

+1

テーブル定義と投影クエリはこの質問に答えるのに役立ちます。 BTW - HQL、Criteria、LINQなどではなくSQLクエリを使用している理由は何ですか? SQLクエリは、他のクエリメカニズムが最適なSQLを生成できないエッジの場合にのみ使用されます。 –

+0

DocumentTitle、Text、PublishDate、AddDate、EditDate、Caption、AuditedByなどの列を持つテーブルから最初のX行を取得する必要があります。リストページでは、私はDocumentTitleとPublishDateを表示したいだけです。それは、C#クラスへのXMLマッピングを持っている限り、私はそれがうまく動作するクエリ内のすべての列をプルします。 – Michali

+0

私はNHibernateを新しくしており、私たちが構築しているWebアプリケーションにたくさんのクエリが存在するので、どのような種類のSQLが生成されているか、効率的かどうかを確認するのではなく、です。 Criteriaは良いAPIを持っていて、データを照会するためにOOの方法を提供しています。 – Michali

答えて

関連する問題