2010-03-11 81 views
0

我有設計問題。我有「人物」這樣的實體。 Person具有以下屬性:FirstName,LastName,Gender,BirthDate,.... 最終用戶在應用程序中創建人員時可能需要定義另一個未在數據庫表模式(或類人員)中定義的屬性。例如:最終用戶nead定義「property1」表示它是一個字符串屬性。或nead將「proerty2」定義爲其圖像,或者需要定義其「複雜類型」的「property3」。爲具有複雜數據的實體設計擴展屬性

請在拖水平分開你的設計方案: 1數據庫表設計
2級的設計

華夏科技:過線的.NET Framework,SQL Server中,WCF(所有實體必須是serializ ,擴展屬性中的特殊complec數據)
謝謝你。

+2

我們不會執行「發送代碼」或「發送設計」,來實現這一點。 – 2010-03-11 09:23:19

+0

好的。在這裏寫你的解決方案! – mmtemporary 2010-03-11 09:42:13

+1

我認爲尼爾斯試圖說的是,你必須爲自己思考,你有自己的工作,我們在這裏幫助 - 但不是爲你做你的工作。其非常一般的 – 2010-03-12 03:22:56

回答

0

下面是你首發,雖然越來越多的信息將是有益的,比如你在什麼地方努力平臺。

你可以嘗試值/密鑰對的方法,雖然你需要擴展這個futher以便您可以爲不同的實體實例分配不同的值。

在數據庫中你可能有一個表:

  • 唯一行ID
  • 實體ID
  • 屬性鍵
  • 屬性值

如果你要爲其他實體類型重複使用它,您將需要一個額外的列來保持這些類型的分離。

如果您使用.Net,您可以設計接口來描述您希望在API級別使用的特定屬性。

您可以通過一個充當「屬性實用程序」的類訪問數據庫中的屬性,實體或創建它們的工廠將在內部使用該屬性。

+0

。如何存儲複雜數據並通過電纜將其序列化? – mmtemporary 2010-03-12 17:53:55

+0

如果你有一個複雜的數據類型,你可以將它序列化爲xml並存儲或按照你認爲合適的方式發送。我之前已經完成了這個工作,但只能在完全基於.net的系統中完成。試試看: http://www.google.co.nz/search?rlz=1C1GGLS_enUS312US312&sourceid=chrome&ie=UTF-8&q=serialize+object+to+string+.net – 2010-03-14 20:40:40