私はWebアプリケーション(asp.net + SQL db)を持っており、それをnHibernateで相対的な成功=とマッピングしています。異なるテーブルのカスタムデータを持つnhibernate fillクラス
このWebは、(ERPシステムから)Oracleデータベースを読み取り、データを収集して表示しますが、このタスクにはnHibernateを使用していません。
私は複数のレポートを、独自のvb.netクラスを使用して作成しました。私はintrincatedクエリでいっぱいになります。 複数のOracleテーブルからデータを収集しています。私の質問は:
特定のhqlクエリを実行し、私のクエリのどの列を1つずつ指定するかを指定するカスタム方法(マッピングしないかもしれません)で私のvb.classを満たすことができますか?
=====================溶液でEDIT =====================
誰かが解決策を必要としている場合は、その解決策を例として掲載します。
Public Class classExample
Private pProperty1 As Decimal
Private pProperty2 As String
Public Property Property1() As Decimal
Get
Property1 = pProperty1
End Get
Set(ByVal Value As Decimal)
pProperty1 = Value
End Set
End Property
Public Property Property2() As String
Get
Property2 = pProperty2
End Get
Set(ByVal Value As String)
pProperty2 = Value
End Set
End Property
Public Overloads Function Load() As System.Collections.Generic.List(Of classExample)
Using session As NHibernate.ISession = ISessionFactory.OpenSession()
Dim strsql As String = "SELECT.... FROM...."
Dim Query As NHibernate.IQuery = session.CreateSQLQuery(strsql)
Query.SetResultTransformer(NHibernate.Transform.Transformers.AliasToBean(Of classExample))
Return Query.List(Of classExample)()
End Using
End Function
End Class
ありがとうございました。
ありがとう、フレデリック!私はそれらのことを知らなかったし、私はクラスとそれらと動作させるためにマッピングと戦っていた。 =) – Knave
名前付きクエリ( ' 'タグのマッピングで書かれたクエリ、''定義の外で)を使うと、マッピングでそれを行うことができるはずです。これには、セッションファクトリのブートストラップ(アプリケーションの使用の非常に早い段階)でクエリを検証するという追加の利点があります。 –