3
愚蠢的nHibernate noob問題,但我找不到答案的任何地方...將nHibernate表達式與嵌套表匹配?
我有一個「產品」類成功地映射到產品表和「sku」類。 Sku是「產品」的子對象,DB中的兩個表由主鍵關聯。
到目前爲止,所有基本的nHibernate的東西的作品 - 我可以成功地對數據庫運行CRUD操作。我可以讓基於表達式查詢成功,如...
Dim results As ArrayList = session.CreateCriteria(Of DataTransferObjects.Product) _
.Add(Expression.Like("Name", nameSearchString)) _
.List()
。而結果是產品的對象,成功地暴露了預期SKU子對象的列表。但是,如果我嘗試上面的代碼從SKU表字段名稱搜索,NHibernate的拋出一個錯誤:
Dim results As ArrayList = session.CreateCriteria(Of DataTransferObjects.Product) _
.Add(Expression.Like("SkuCode", skuSearchString)) _
.List()
的結果「無法解析屬性:的SkuCode:產品」
這工作:
Dim results As ArrayList = session.CreateCriteria(Of DataTransferObjects.Sku _
.Add(Expression.Like("SkuCode", skuSearchString)) _
.List()
但是,毫不奇怪,它只返回Sku對象,而我需要產品對象。
這也編譯:
Dim results As ArrayList = session.CreateCriteria(Of DataTransferObjects.Product) _
.Add(Expression.Like("Name", nameSearchString)) _
.CreateCriteria("Skus").Add(Expression.Like("SkuCode", skuSearchStrung)) _
.List()
但它返回什麼都沒有,即使第一個表達式是有效
我怎麼能對運行在SKU表中的字段的Expression.Like?