为了扩大通用性,在模块里的某个类,通过序列化得到二进制串,然后存入数据库中,现在的问题是,如果想要支持字段查找,在这种情况下,有没有什么好的优化办法?Ex.
class MemberInfo
{
private string m_userName;
private string m_passWord; public string UserName
{
get
{
return m_userName;
}
} public string PassWord
{
get
{
return m_passWord;
}
} public MemberInfo(string userName, string passWord)
{
m_userName = userName;
m_passWord = passWord;
}
}现在需要实现:
1.根据UserName排序
2.根据PassWord查找现在我只有将数据库中的全部数据并行化后,再在这些大量的对象中进行这些工作,显然不现实。感觉应该能够在数据库那层进行相关操作,从而大大优化。有没有人遇到过类似问题啊?

解决方案 »

  1.   

    不要直接存二进制串,将字段分开来存,类似于OR Mapping
      

  2.   

    >>>不要直接存二进制串,将字段分开来存,类似于OR Mapping
    字段分开存到数据库中当然没有问题,也是通常的方式吧,但是如果MemberInfo结构经常变动就要改数据库,而如果直接存二进制串的话就不怕他变。当然这可以在设计上做权衡,不过现在的大前提就是已经选择了这种方式,如何优化查找和排序?另外,什么OR Mapping没有听说过呢?能不能详细一点阿?
      

  3.   

    在网上查了查文章,才发现,确实O/R Mapping才是解决变化的王道,呵呵,谢谢