nhibernate - 流畅的 nhibernate 命名查询,而不使用 map 的 hbm 文件

标签 nhibernate map fluent named-query

我需要创建一个命名查询,并将它与其中一个 map 一起使用,我目前已将其定义为流畅的 map 。

是否可以继续使用流畅的 map ,并能够在代码中动态创建命名查询?或者,切换到 hbm map 是唯一的选择吗?

最佳答案

也许我误解了这个问题,但您不必完全切换到 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>

关于nhibernate - 流畅的 nhibernate 命名查询,而不使用 map 的 hbm 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2496915/

相关文章:

c# - 如何使用 NHibernate 处理应用程序中的默认数据

NHibernate.ByteCode.LinFu.dll 适用于 NHibernate 3.2

ios - 对于 iPhone map 应用程序,如何创建图表?

java - 更好的正则表达式语法想法

php - Laravel 流利与 Eloquent

swift - Vapor 4 不区分大小写的查询

c# - 在 NHibernate 的查询中使用 OR 子句

c# - 流利的 Nhibernate : Configure Database in XML

c++ - std::list 中每种特定类型的对象数

android - ItemizedOverlay 的 setFocus(overlayItem) 不起作用