2010-12-03 62 views
2

我有一個非常基本的名字地址年齡等的人的數據庫表,每個人都有一個唯一的ID「personID」。鏈接到我有一套EAV表格來存儲每個人可能不同的額外字段。我已經有了保存和加載人員表中的記錄到c#人員對象或人員對象數組的代碼。但我不知道如何處理EAV記錄的加載。我正在考慮向我的person對象中添加一個名爲「properties」的數組,這個數組將是一個包含「name」和「value」的屬性數組。因此,例如,我可以編寫保存從EAV數據庫結構中加載序列化對象

PersonA.Properties[i].Name = "Age"; 
PersonA.Properties[i].Value = 22; 

加載一個對象似乎確定我能做到1個數據庫調用,從百姓餐桌和第二個電話來加載屬性,或使用一個調用返回數據集2裝載的細節。然而,我如何獲得與每個人擁有其數組屬性的人數組。如果有人與我的例子有任何聯繫,我會很感激。另外獎勵積分,如果你能給我如何實現性能的技巧,所以我可以做類似的代碼:

PersonA.Properties["Age"] = "22"; 
+0

它必須是EAV嗎?我會認真考慮一個基於docuement的數據庫,例如存儲JSON或XML – 2010-12-03 17:04:42

回答

0

與SQL Server,我與馬克同意得到它轉換成XML。使查詢變得容易。

要將代碼轉換爲您想要的格式,如果日期對於該屬性是同質的,那麼我會使用通用字典,然後在它們之間來回地轉換xml。

相關問題