名前付きクエリを作成し、現在流暢なマップとして定義しているマップの 1 つで使用する必要があります。
流暢なマップを引き続き使用して、名前付きクエリをコードで動的に作成することは可能ですか? または、hbm マップへの切り替えが唯一のオプションですか?
名前付きクエリを作成し、現在流暢なマップとして定義しているマップの 1 つで使用する必要があります。
流暢なマップを引き続き使用して、名前付きクエリをコードで動的に作成することは可能ですか? または、hbm マップへの切り替えが唯一のオプションですか?
質問を読み間違えているかもしれませんが、hbmマッピングに完全に切り替える必要はありません。
流暢なNHibernateを引き続き使用してクラスをマップし、名前付きクエリにのみhbmを使用できます。次に、構成にエンティティとhbmsを含めます。
_sessionFactory = Fluently.Configure()
.Mappings(m =>
{
m.FluentMappings.AddFromAssemblyOf<SomeEntityMap>();
m.HbmMappings.AddFromAssemblyOf<SomeEntityMap>();
})
.BuildSessionFactory();
次に、namedQueries.hbm.xmlで、名前付きクエリのみを定義します。
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<query name="Some.Query.Of.Yours">
<![CDATA[
from SomeEntity e
where e.Property = :propertyValue
]]>
</query>
</hibernate-mapping>