保存加载从EAV数据库结构序列化对象

时间:2010-12-03 16:51:04

标签: c# sql ado.net entity-attribute-value

我有一个人的数据库表,这是一个非常基本的名称地址年龄等,每个人都有一个唯一的ID“personID”。链接到我有一组EAV表来存储额外的字段,每个人可能有所不同。我已经有了代码来保存人员表中的记录并将其加载到c#person对象或person对象数组中。但是我不知道如何处理EAV记录的加载。我想在我的人物对象中添加一个名为“properties”的数组,这个数组是一个属性数组,每个属性都有一个“name”和“value”。所以例如我可以编码

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

加载单个对象似乎没问题我可以进行1次数据库调用以加载人员表中的详细信息,第二次调用加载属性或通过一次调用返回2个数据集。但是,我如何获得每个人拥有其属性数组的一系列人员。如果有人与示例有任何联系,我将不胜感激。如果你能给我一些关于如何实现属性的提示,那么我也可以做以下代码:

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

1 个答案:

答案 0 :(得分:0)

使用SQL服务器,我同意Marc将其纳入xml。使查询变得容易。

要将代码放入所需的格式,如果日期对于该属性是同质的,那么我将使用通用字典,然后在它之间来回转换xml。