5

这里有一篇关于如何映射存储过程调用的返回值的优秀帖子:http: //elegantcode.com/2008/11/23/populating-entities-from-stored-procedures-with-nhibernate/

本例中的映射是通过 hbm 文件完成的。

我正在尝试使用最新版本的 Nhibernate (3.2),我们可以在其中通过代码进行映射。我真的很想找出可以创建如下映射的 C# 代码:

<sql-query name="GetProductsByCategoryId">
    <return class="Product">
      <return-property column="ProductID" name="Id" />
      <return-property column="ProductName" name="Name" />
      <return-property column="SupplierID" name="Supplier" />
      <return-property column="CategoryID" name="Category" />
      <return-property column="QuantityPerUnit" name="QuantityPerUnit" />
      <return-property column="UnitPrice" name="UnitPrice" />
      <return-property column="UnitsInStock" name="UnitsInStock" />
      <return-property column="UnitsOnOrder" name="UnitsOnOrder" />
      <return-property column="ReorderLevel" name="ReorderLevel" />
      <return-property column="Discontinued" name="Discontinued" />
    </return>
    exec dbo.GetProductsByCategoryId :CategoryId
</sql-query>
4

1 回答 1

1

老实说,我从来没有尝试过,你应该看看扩展方法AddNamedQuery(..):你从你的Configuration实例(NHibernate.Cfg命名空间)中调用它)。

NHibernate 测试项目的一些示例

顺便说一句,您可以混合使用新的 3.2 代码映射和 xml 映射。开始看这个问题

于 2011-12-03T13:07:44.893 回答