有一个Person类:
class Person
{
public string Name;
public int Age;
public List<string> list;
}
一个People类:
class People
{
public People()
{
ListPerson = new List<Person>();
}
public Person person; //自定义数据
public List<Person> ListPerson;
List<string> List;
List<List<string>> LisList; //此集合,元素会上十万个,不过,List<string>里面的string数量不多
....
.... //还有很多属性
}
如上面的代码,数据比较复杂,如果现在有一个People对象,需要把此People对象存入sql数据库,请问,该怎么储存更好呢?
试了一下JSON,不太理想,上十万个元素的集合不好处理。有人说采取属性对应列的方式创建表,但是属性太多。在程序中,会执行很少属性关联的查询。不知序列化二进制效率怎么样
请问大师,该怎么储存这个对象...........
------解决思路----------------------
你这种不规则对象,没法建表存储的吧,虽然直接序列化是一种方法,但是不能用SQL检索集合内部元素可是个麻烦事,你自己权衡吧。
------解决思路----------------------
表1 :Person, 字段为Person类中属性
表2:存储所有单列ID,string值
表3:Person和string的对应关系。列看你Person和sting的对应关系
------解决思路----------------------
……还是建表吧,按字段,子表
------解决思路----------------------
序列化二进制的话,存入到数据库之后,很难再查询了啊。 SQL语句也没办法查出你想找的对象。
所以建议是拆分成多个表,然后关联起来。楼上说的很好了。
------解决思路----------------------
怎么感觉在说,你把这个人存进硬盘里