2009-05-08 6 views
0

ビューを使用する名前付きクエリがあります。このビューにはId列がないため、クラスマッピングを作成できません。私は名前付きクエリを作成し、すべての戻り値を定義してクラスとして返すように設定しました。しかし、私はまだKeyNotFound例外を受け取ります。すべての列を設定すると、リストが返されます。どのようにこれをクラスにマップするようにNHibernateに指示できますか?名前付きクエリでのビューの使用

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> 
    <sql-query name="GetAvailablePermissions" read-only="true"> 
    <return alias="perm" class="Domain.AcsAvailablePermission, Domain"> 
     <return-property name="Id" column="PermissionId"/> 
     <return-property name="Code" column="Code"/> 
     <return-property name="Category" column="Category"/> 
     <return-property name="Description" column="Description"/>  
    </return> 
    <![CDATA[ 
    SELECT 
     [PermissionId] 
     , [Code] 
     , [Category] 
     , [Description] 
    FROM [dbo].[vw_Permission] 
    WHERE 
     [SiteId] = :SiteId 
    ]]> 
    </sql-query> 
</hibernate-mapping> 

答えて

0

NHibernateの方法が見つかりませんでしたので、すべてをスカラーに戻しました。その後、IListを取り出し、LINQを使用してIListに変換しました。

関連する問題