0

我正在爲即將到來的項目提供EF和RIA服務。對於那個項目,我需要繼承來抽象出類型的具體實現。假設我們有一個抽象類CustomerBase。美國的客戶需要的數據不是英國的客戶,因此我們可以在不同的模塊中爲英國和美國實施Customer : CustomerBase。其他模塊不必依賴於特定的實現,因爲CustomerBase已經覆蓋了大部分地面。使用RIA Services和Silverlight的EF Code Fist繼承

我構建了一個像這樣的場景,我的表格創建得非常完美,RIA Service將它們複製到Silverlight(v5)客戶端。但在Silverlight項目,這樣的說法...

CustomerBase customer = new Customer() { /* ... */ }; 

...是無效的,因爲RIA服務讓它的所有實體獲得來自實體CustomerBase是主模塊上共享,每個人都可以訪問它)。

你會如何解決這個問題?我看到了this線程,但是我找不到符合我需要的樣本(我猜鏈接已經斷開)。有沒有辦法使上面的語句編譯或有解決這類問題的方法?我無法想象我是第一個有此要求的人。

回答

0

經過在##[email protected]上閱讀和討論後,我認爲解決這個問題的最好方法是在Silverlight-Client上創建一個CustomerBase的實現,該實現封裝了由RIA Services生成的Customer實體。在那裏,我重寫了所有屬性,並讓他們訪問Entitiy的字段並實時實現INotifyPropertyChanged。

相關問題