2012-02-15 4 views
1

私はEmployeeクラスを持っています。私はnhibernateを使用して従業員データを取得しています。 の完全な列を返します。(例:sql - Select *)。しかし、私は(私EmployeeNameとEmployeeIDのような)列を選択する必要がある場合、私はこれらの2つのプロパティ(例:Emplクラス)とクラスを作成する必要があります。AliasToBeanResultTransformerを使用して、すなわち投影を取得することができます。あなただけしたい場合、私はnhibernateのデータ列を賢明に見つける

class Employee 
{  
    public int EmployeeId { get; set; } 
    public string EmployeeName { get; set; } 
    public int ResidingInCountryId { get; set; } 
    public virtual Country ResidenceCountry { get; set; } 
} 

答えて

0

... NHibernateの中にどのような方法は、私は、特定の列の値をretriveことができるように(またはハードコーディングHQLクエリなしのサブクラス(EMPLクラス)を作成せず)があることを知ってほしいですあなたは、単に匿名オブジェクトのリストをしたいREALLY場合は、何らかの理由

b)のためにこれを好きではない言及したが、クエリからいくつかの列を投影する、あなたはどちらか

a)のDTOを使用することができます結果トランスを省略すると、投影された値を持つ匿名オブジェクトのリストが生成されます。これはデータ結合には十分である。

また、プロジェクトのためにHQLだけを使用する必要はなく、Criteria、QueryOver、またはNH Linqを使用することもできます。

+0

@ Rippo私はジェネリックメソッドを作成しようとしています。そのため、メインクラスのインスタンスと列名のリストだけを渡す必要があります。例えば'public IList GetListByCriteriaQuery ()' Tはメインクラスで、SはSubクラス(Tクラスの任意の列の組み合わせ)です。固定されていないので、列の各組み合わせのクラスを作成することはできません。すべての3つの提案と私は私がしたくない列名をハードコードする必要があることがわかります。私の完全な論理を置くことができない空間の不足のために頼んでください。私を理解することができるか、 。 – user1000528

+0

私はCriteriaを実装し、Arrayオブジェクトのリストを返すことができました。ありがとう – user1000528

関連する問題