NHibernate“命名查询中的错误”

我定义了以下命名SQL查询:

<sql-query name="ItemSearch">
    <return class="ItemSearchResult">
        <return-property name="Item" column="ItemId" />
        <return-property name="Distance" column="Distance" />
    </return>
    SELECT
        Items.*,
        dbo.DistanceBetween(Latitude, Longitude, :lat, :long) AS Distance
    FROM Items
    WHERE Contains(Name, :keywords)
    ORDER BY Distance ASC
</sql-query>

每当我尝试运行我的应用程序时,我都会遇到通用错误“命名查询中的错误:{ItemSearch}”。 这里有什么明显的错误吗?

ItemSearchResult类是一个非常简单的包装类,如下所示:

public class ItemSearchResult
{
    public Item Item {get; set;}
    public double Distance {get; set;}
}

ItemSearchResult是否有正确的.hbm.xml ? 如果您在查询中使用ItemSearchResult ,那么您需要有一个.hbm.xml 。 就像实体一样。


下面是我的代码示例:NHibernate版本和我的Hibernate之间唯一不同的地方是自动导入,我会假设这个包。

<hibernate-mapping auto-import="true" package="PackageName">
  <class name="Name of class to maptop">
    <composite-id>
      <key-property name="<name of parameter>" type="TYPE"/>
    </composite-id>
    <property name="COLUMNNAME" type="TYPE"/>
  </class>
  <sql-query name="queryName">
        <return alias="dr" class="Name of class to map to"/>
select columnName as {dr.nameofColumn}, 
   from table
 </sql-query>
</hibernate-mapping>

我认为你的代码中存在的问题是你没有专门绘制出列以及它们如何映射到你的类。

注意:如果有任何不符合NHibernate XML格式的字段,请通过评论告诉我。 我现在无法访问我的NHibernate映射文件。

链接地址: http://www.djcxy.com/p/43581.html

上一篇: NHibernate "Errors in named queries"

下一篇: Application Will Terminate Notification & Saving Drafts (Core Data)