English 中文(简体)
是否建议对大量数据使用通用数据?
原标题:Is it suggestable to use generics for large amount of data?
  • 时间:2009-09-24 11:44:03
  •  标签:

我要说的是<代码>Customer记录,我不得不在网上展示。 另外,我还有一份<代码>CustomerEntity,其特性为10。 因此,当I fetch data in using a DataReader,并将其改为List<CustomerEntity>。 我必须两次通过数据。

因此,在这种情形下使用通用物是否可取? 如果是的话,我的申请执行情况会是什么?

For E.g.

In CustomerEntity class, i m having CustomerId & CustomerName propeties. And i m getting 100 records from Customer Table Then for Preparing List i ve wrote following code

while (dr.Read()) 
    { 
       // creation of new object of customerEntity 
       // code for getting properties of CustomerEntity 
       for (var index = 0; index <  MyProperties.Count; index++) 
       { 
         MyProperty.setValue(CustEntityObject,dr.GetValue(index)); 
        } 
      //adding CustEntity object to List<CustomerEntity> 
    }

如何避免这两个漏洞。 是否还有其他机制?

最佳回答

我并不真的确定数据流中的通用关系;它们是无关的概念......我也不清楚why,这要求你阅读所有东西两次。 但是,是:在数量上使用时,一般产品是罚款的(不是)。 但当然,找到问题的最佳途径是定性(无论是服务器性能还是带宽,在这种情况下也许更是后者)。

当然,更好的做法是:没有在网上显示数千份记录;用户将做些什么? 使用aging、搜查、过滤、ja等——每个可以想象的骗局——但不会向客户发送数千份记录。


更新的问题;确定地产的通道必然是坏的。 这是完全适当的内.。 在做任何事情之前,需要了解这是否确实是一个问题。 我怀疑,母带宽(服务器和客户之间,或服务器和数据库之间)是最大的问题。 如果你能够证明,这里是个问题,你可以选择:

  • switch to using PropertyDescriptor (rather than PropertyInfo), and use HyperDescriptor to make it a lot faster
  • write code with DynamicMethod to do the job - requires some understanding of IL, but very fast
  • write a .NET 3.5 / LINQ Expression to do the same and use .Compile() - like the second point, but (IMO) a bit easier

我可以举出第一和第三颗子弹的例子;我不说really想写第二个例子,只是因为我只字不提一下:my Self,这样就更进一步(如果可以的话,我就使用第3个选项,即第1条)。

问题回答

很难说业绩是怎样的,但会考虑这些问题——

  1. 体质

  2. 如果你重新在网页上显示10 000个记录,你的申请可能无法使用。 如果记录在页上,则考虑只归还你网页实际需要的记录。

  3. 页: 1 这些数据是什么?





相关问题