小编Cal*_*vin的帖子

NHibernate存储过程问题

我正在努力让我的存储过程与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>
Run Code Online (Sandbox Code Playgroud)

这是我的域类:

namespace DomainModel.Entities
{
    public class SomeClass
    {
        public SomeClass()
        {
        }
        public virtual Guid ID
        {
            get;
            set;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,它失败了

Exception Details: NHibernate.HibernateException: Errors in named queries: {DoSomething}
Run Code Online (Sandbox Code Playgroud)

在第80行

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

当我调试NHibernate代码时,似乎SomeClass没有添加到persister字典中,因为hbm.xml中没有定义类映射(只有sql-query).后来在CheckNamedQueries函数中,它无法找到SomeClass的persistor.

我已经检查了所有显而易见的事情(例如将hbm作为嵌​​入式资源)并且我的代码与我在网络上找到的其他示例没有太大的不同,但不知怎的,我无法让它工作.知道如何解决这个问题吗?

nhibernate hbm

3
推荐指数
1
解决办法
2209
查看次数

标签 统计

hbm ×1

nhibernate ×1