Crm 产品实体包含 40,000 条记录。
在 CustomerPortal 中,我只是获取所有产品并将它们绑定到 Grid。
获取查询和绑定代码如下:
var DataSource = from products in xrm.ProductSet
select new DTO_RequiredProductField()
{
Id = products.Id.ToString(),
Name = products.Name.ToString(),
Price = products.Price.ToString()
};
gdvProduct.DataSource = DataSource;
gdvProduct.DataBind();
这工作正常,但仅在第一次加载时才需要 30 到 40 秒才能加载(之后,相同的页面只需 2 秒即可加载)。
我没有使用会话/缓存之类的东西。
如果我使用下面的查询(只取 5 条记录),那么延迟行为也是一样的:
var DataSource = from products in xrm.ProductSet.Take(5)
select new DTO_RequiredProductField()
{
Id = products.Id.ToString(),
Name = products.Name.ToString(),
Price = products.Price.ToString()
};
为什么第一次加载时延迟 30 到 40 秒?