0

Nhibernate で Stored-Procedures を正確にマップする場所を誰でも教えてもらえますか?

特にストアド プロシージャ用のクラス hbm.xml ファイルまたは新しく宣言されたファイル (hbm.xml) で???

理由を教えてもらえますか??

4

1 に答える 1

4

すべてのストアド プロシージャ コールを含む単一の XML ファイルを作成します。たとえば、

<?xml version="1.0" encoding="utf-8" ?>  
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">  
  <sql-query name="SummaryReport">  
    exec getSummaryReport  :productId  
  </sql-query>  
  <sql-query name="FullReport">  
    exec getFullReport  :productId  
  </sql-query>  
</hibernate-mapping>  

これを埋め込みリソースとしてマークします。次に、次のようにSPと呼ぶことができます:-

var results = Session
  .GetNamedQuery("SummaryReport")
  .SetInt32("productId", productId);
  .SetResultTransformer(
    new AliasToBeanResultTransformer(typeof(SummaryReport)));
return results.List<SummaryReport>();

これは私にとってはうまくいきますが、実際には推奨される方法はありません。それは常に、あなたが自分にとって正しいと感じるものにかかっています.

于 2013-03-19T11:45:25.380 に答える