Nhibernate 在命名查询中使用视图

Nhibernate 在命名查询中使用视图,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,我有一个使用视图的命名查询。我无法创建类映射,因为此视图没有Id列。我创建了一个命名查询,并将其设置为作为类返回,定义所有返回值。但是,我仍然收到一个KeyNotFound异常。如果我将所有列都设置为,它将返回列表。如何让NHibernate将此映射到类 <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <sql-query

我有一个使用视图的命名查询。我无法创建类映射,因为此视图没有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>

我没有找到NHibernate方法,所以我更改了所有内容以返回标量。然后获取IList并使用LINQ将其转换为IList