0
我有一個Web應用程序(asp.net + SQL數據庫),我用nHibernate映射它與相對成功=)。nhibernate填充類與來自不同表的自定義數據
該網站從ERP系統讀取Oracle數據庫,收集並顯示數據,但不使用nHibernate執行此任務。
我已經完成了幾個報告,每個報告都有自己的vb.net類,我填充了一些隱含的查詢, 從一堆Oracle表中收集數據。所以我的問題是:
我可以做一個特定的HQL查詢,並填寫自定義的方式我vb.class(也許不是它映射),指定一一其中我的查詢欄填寫每個屬性?
=====================編輯方案=====================
只要有人需要解決方案,我將解決方案發布在示例中。
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
感謝您的幫助。
非常感謝Frédéric!我不知道這些,我正在與班級和地圖作鬥爭,以使他們工作。 =) – Knave
如果您使用命名查詢(在''標籤的映射中寫入的查詢,''定義之外),您應該也可以在映射中執行此操作。這還有一個額外的好處,就是可以在會話工廠引導(在應用程序使用中通常很早)驗證您的查詢,而不是僅在調用時驗證它們(所以也許在您的功能測試覆蓋範圍之外)。 –