ストアド プロシージャを 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>
ここに私のドメインクラスがあります:
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 コードをデバッグすると、hbm.xml でクラス マッピング (sql-query のみ) が定義されていないため、SomeClass が永続化ディクショナリに追加されていないようです。その後の CheckNamedQueries 関数では、SomeClass の永続化子を見つけることができません。
明白なことはすべて確認しました (hbm を埋め込みリソースとして作成するなど)。私のコードは、Web で見つけた他のサンプルとそれほど違いはありませんが、どういうわけか動作させることができません。この問題を解決する方法はありますか?