8

名前付きクエリを作成し、現在流暢なマップとして定義しているマップの 1 つで使用する必要があります。

流暢なマップを引き続き使用して、名前付きクエリをコードで動的に作成することは可能ですか? または、hbm マップへの切り替えが唯一のオプションですか?

4

1 に答える 1

10

質問を読み間違えているかもしれませんが、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>
于 2010-09-04T05:12:12.797 に答える