2011-04-08 72 views
0

我試圖在DDD項目上實現Linq-to-SQL作爲數據訪問技術(ORM工具)。 L2S不是我的選擇,但這是我必須與(現在)合作。使用Linq-to-Sql XML映射處理Impedence不匹配源

繼DDD之後,我已經創建了我的域模型,並且它不符合我規範化的數據庫模式。 (這裏沒什麼不尋常的)。我正在嘗試實現L2S以使用我的域對象作爲POCO,使用外部XML映射文件作爲我的DataContext的MappingSource。所有這些都很好,直到我遇到更復雜的映射。

在我的域圖層中,我有一個Appointment類,它有一個類型爲Recurrence的子屬性。復發是一個基類,實際實現由各種子類提供,具體取決於復發模式的類型。從代碼中,我可以使用RecurrenceFactory類創建適當的子類。然而,在我的數據庫中,我只有一個Appointment表,它有兩列:RecurrenceType和RecurrenceValue。

如何設置XML映射文件以使用RecurrenceFactory使用數據庫中的RecurrenceType和RecurrenceValue列創建適當的子類?

如果這是不可行的,那麼我必須徹底改變我的實施方向。感謝您的想法!

回答