2013-05-07 7 views

Antwort

25

Ich nehme an, Sie verwenden das Standard-

Session.GetNamedQuery(.... 

stattdessen Sie

var result = Session.CreateSQLQuery("exec MyStoredProc :pUserId, :pIsLocked") 
        .AddEntity(typeof(MyDomainObject)) 
        .SetParameter("pUserId", userId) 
        .SetParameter("pIsLocked", isLocked) 
        .List<MyDomainObject>(); 

Auf diese Weise können Sie die gespeicherte Prozedur aufrufen können, aber immer noch ein Domain-Objekt zurück (oder eine Liste von) ohne Benötigt eine .hbm.xml-Datei.

Actually there's this post

3

Sie sollten es GameActivity Klasse



    public class GameActivity 
    { 
      public virtual DateTime Date { get; set; } 
      public virtual string GameRoundId { get; set; } 
      public virtual int GameProvider { get; set; } 
      public virtual string GameName { get; set; } 
      public virtual decimal RealBet { get; set; } 
      public virtual decimal RealWin { get; set; } 
      public virtual decimal BonusBet { get; set; } 
      public virtual decimal BonusWin { get; set; } 
      public virtual decimal BonusContribution { get; set; } 
      public virtual int IsRoundCompleted { get; set; } 
      public virtual int IsRoundCancelled { get; set; } 
    } 

Aufruf Stored Procedure "GetMemberGameActivity", um die Liste



    var result = session.CreateSQLQuery("exec GetMemberGameActivity :mToken, :StartDate, :EndDate") 
         .SetResultTransformer(Transformers.AliasToBean()) 
         .SetParameter("mToken", token) 
         .SetParameter("StartDate", startDate) 
         .SetParameter("EndDate", endDate) 
         .List().ToList(); 

+0

Gültige Antwortergebnismenge in meinem Fall eine Klasse für die Rückgabe, Nur wenn Sie in eine generische Liste exportieren, müssen Sie die generische Klasse angeben. zum Beispiel in meinem Fall ist das Ergebnis ein IList , dann muss ich die Antwort ändern: var result = repository.Session.CreateSQLQuery ("exec USP_SA_Get1098TDataForTaxYear: TaskYear,: CampusId") .SetResultTransformer (Transformers.AliasToBean ()) .SetParameter ("TaskYear", filter.Year) .SetParameter ("CampusId", filter.CampusId) .List () .ToList(); – freedeveloper