試試這個,你的映射: -
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<sql-query name="SummaryReport">
exec getSummaryReport :productId
</sql-query>
</hibernate-mapping>
然後用SetResultTransformer ...
var results = Session
.GetNamedQuery("SummaryReport")
.SetInt32("productId", productId);
.SetResultTransformer(new AliasToBeanResultTransformer(typeof(YOURCLASS)));
return results.List<YOURCLASS>();
和YOURCLASS是: -
public class YOURCLASS
{
public virtual int ProductId { get; set; }
public virtual string Column1Returned { get; set; }
public virtual int Column2Returned { get; set; }
etc..
}
請返回肯定什麼都從你的SP中定義YOURCLASS
記住你的列名和屬性名必須匹配正如他們對CASE
敏感。
謝謝@Rippo,nHibernate映射必須有一個唯一的ID嗎? YOURCLASS也必須具有XML映射嗎? – 2012-04-10 09:10:57
另外,在nHibernate中,所有的XML * .nbh.xml都必須有相應的物理表嗎? – 2012-04-10 09:15:50
如果YOURCLASS具有unqiue標識,但不需要爲相應的XML文件創建映射表,則更好。上面的XML文件在我的答案中可能只是被稱爲namedqueires.hbm.xml – Rippo 2012-04-10 11:52:35