我有一個情侶表,例如:功能NHibernate - 映射一個屬性欄上的連接表
- 產品{ID,名稱,ManufacturerId,...}
- 製造商{ Id,Name,...}
我希望能夠在我的Product對象中包含ManufacturerName(而不必在我只需要名稱時加載整個Manufacturer行)。我的產品地圖看起來像...
Table("Product");
Id(x => x.Id, "Id");
Map(x => x.ProductName, "ProductName");
Map(x => x.ManufacturerId, "ManufacturerId");
References(x => x.Manufacturer, "ManufacturerId");
我需要添加什麼來填充我的Product對象的ManufacturerName屬性?我相信我需要進行某種Join()調用,但我無法弄清楚如何使用所有相關參數編寫它。它需要將當前表(產品)加入到製造商表中,在Product.ManufacturerId = Manufacturer.Id上,並抓住Manufacturer.Name列,在對象上填充ManufacturerName屬性。
這看起來像是一個很好的解決方案,除了DB是一個不支持select參數內的子查詢的oracle版本。 (呃)雖然 –
非常感謝您接受這個答案,因爲它可能適用於後來尋找答案的99%的人。可悲的是,我在使用8年前的Oracle數據庫的1%中,這不起作用。 –
啊..是的,我在Oracle 9中測試,所以這可能是爲什麼它在那裏工作。那麼,你仍然可以使用一個輔助sql視圖並將其映射到一個新的實體,該實體只包含一列的子集,然後使用它來代替常規產品,但我想它主要取決於場景。 –