NHibernate存储过程问题

NHibernate存储过程问题,nhibernate,hbm,Nhibernate,Hbm,我很难让我的存储过程与NHibernate一起工作。从SP返回的数据与任何数据库表都不对应 这是我的映射文件: <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="DomainModel" namespace="DomainModel.Entities"> <sql-query name="DoSome

我很难让我的存储过程与NHibernate一起工作。从SP返回的数据与任何数据库表都不对应

这是我的映射文件:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="DomainModel" namespace="DomainModel.Entities">

    <sql-query name="DoSomething">
        <return class="SomeClass">
            <return-property name="ID" column="ID"/>
        </return>
        exec [dbo].[sp_doSomething]
    </sql-query>

</hibernate-mapping>
当我运行代码时,它失败了

Exception Details: NHibernate.HibernateException: Errors in named queries: {DoSomething}
第80行

Line 78:             config.Configure(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "NHibernate.config"));            
Line 79: 
Line 80:             g_sessionFactory = config.BuildSessionFactory();       
当我调试NHibernate代码时,似乎没有将某个类添加到persister字典中,因为hbm.xml中没有定义类映射(只有sql查询)。稍后在CheckNamedQueries函数中,它无法找到SomeClass的持久器


我已经检查了所有明显的东西(例如,将hbm作为嵌入式资源),我的代码与我在web上找到的其他示例没有太大区别,但不知何故,我就是无法让它工作。你知道我如何解决这个问题吗?

那么,你的类映射在哪里


你仍然需要绘制地图。阅读。

查看如何使用带有
子选择块的类映射。我在Java文档中发现了这一点,但它可能也适用于.Net

(向下滚动至第5.1.3节)

Line 78:             config.Configure(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "NHibernate.config"));            
Line 79: 
Line 80:             g_sessionFactory = config.BuildSessionFactory();