【发布时间】:2011-01-30 14:44:34
【问题描述】:
我需要创建一个命名查询,并将它与我目前已定义为流利地图的地图之一一起使用。
是否可以继续使用流利的地图,并能够在代码中动态创建命名查询?或者,切换到 hbm 地图是唯一的选择吗?
【问题讨论】:
标签: nhibernate map fluent named-query
我需要创建一个命名查询,并将它与我目前已定义为流利地图的地图之一一起使用。
是否可以继续使用流利的地图,并能够在代码中动态创建命名查询?或者,切换到 hbm 地图是唯一的选择吗?
【问题讨论】:
标签: nhibernate map fluent named-query
也许我误读了这个问题,但您不必完全切换到 hbm 映射。
您可以继续使用 fluent 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>
【讨论】: