代码改变世界

第一个问题

2008-03-02 11:25  废墟中的垃圾  阅读(174)  评论(0)    收藏  举报

答应了伍迷但是现在才开始写东西,虽然已推迟了2个月,但是结果未变。

涉.net不久,所以这里问题更多一些,希望大家指点,应该看得人不多,但是希望来过的都留下点建议。

今天第一个问题,在大压力Web程序里面,有一些非常常见的问题,这里希望大家说一下自己的见解。对于网站,例如这样的数据,会有一个评论表,但是同时我们为了页面的美观或者人性化,有必须显示用户名甚至是用户头像。

那么问题来了,如果按照正常的思路,应该是,先获得一个评论的dataset,然后foreach,再实例化用户信息。

这个是通过获得站点信息的List,然后获得相关的用户信息:

public List<SiteEntity> GetSitesByShowFlag(int showFlag, int pageSize, int pageIndex)
        {
            List<SiteEntity> sites=VsaSiteDataProvider.VsaSiteDataProviderInstance.GetSitesByShowFlag(showFlag, pageSize, pageIndex);
            foreach (SiteEntity site in sites)
            {

                //site.SiteDomainUrls = GetSiteDomainUrlsBySiteID(site.SiteID);
                //site.RegistedUser = GetSiteAdministratorByAdminID(site.UserID);
            }
            return sites;
        }

这里是不是不能用数据库唯一性原则,而是把跨库信息直接读出来,直接赋List sites里面。这样减少了sites * 用户次数据库读取。也就是我们建立ormapping的时候,按照表建立还是按照真是情况的对象,得出最终的数据对象。不知道我说的是不是清楚。如果有能读懂的帮忙建议一下。