2010-10-08 83 views

回答

2

您的對象模型不一定會與您的數據庫模型一一映射,並且在大多數情況下會更豐富。組件是通過在對象模型中封裝功能來豐富數據庫模型的一種方法。例如,假設您有兩個表格,peoplecompanies。這兩個表都具有address所需的字段,但數據庫架構無論出於何種原因都沒有addresses的第三個表。在您的應用程序中,您可能想要將地址建模爲單獨的實體,即使沒有邏輯數據庫表。在這裏你可以使用一個組件,它允許你爲一個地址投影數據庫字段。

IUserType是一種使用自定義序列化將類型映射到列的方法。例如,如果你要映射一個mongodb ObjectId(這不過是一個guid),你可以編寫一個自定義的IUserType來進行映射。其他示例可以將位掩碼映射到豐富用戶類型的陣列或對加密字段進行編碼/解碼。