我很难试图让我的存储过程适用于NHibernate。从SP返回的数据不对应任何数据库表。NHibernate存储过程问题
这是我的映射文件:
<?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>
这里是我的域类:
namespace DomainModel.Entities
{
public class SomeClass
{
public SomeClass()
{
}
public virtual Guid ID
{
get;
set;
}
}
}
当我运行的代码,它失败
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代码时,似乎SomeClass没有添加到persist字典中,因为没有在hbm.xml中定义的类映射(只有sql-query)。后来在CheckNamedQueries函数中,它无法找到SomeClass的persistor。
我已经检查了所有显而易见的东西(例如,将hbm作为嵌入式资源),我的代码与我在网上找到的其他样本没有太大差别,但不知何故,我无法使其工作。任何想法我能如何解决这个问题?