如何降低Entity FrameWork代码的处理速度?

时间:2013-08-19 17:35:17

标签: entity-framework-4 webforms


我使用这段代码来阅读和阅读更新数据库中的值以指示网站的网页浏览量。

void Session_Start(object sender, EventArgs e)
{
    intPageView++;
    Session.Add("Online", intPageView);
    DataLayer.MainFunction.UpdateOnlineUser();
}

    public static void UpdateOnlineUser()
    {
        try
        {
            int intCount = 0;
            TaffyPetEntities db = new TaffyPetEntities();
            T_Setting t_s = db.T_Setting.SingleOrDefault(i => i.ID == 1);
            intCount = Convert.ToInt32(t_s.Page_counter);
            intCount++;
            t_s = new T_Setting();
            t_s = db.T_Setting.First(i => i.ID == 1);
            t_s.Page_counter = intCount;
            db.SaveChanges();
        }
        catch (Exception err)
        {
            DataLayer.Error.RegisterError("MainFunction.cs", err.Message);
        }
    }
在本地系统中,每件事情都很好,运行速度也不错,但是当网站发布并上传到服务器上时,每件事情都发生了变化。问题是,首先我们没有任何数据输出,当你点击网站上的每个链接时,显示另一个页面需要很长时间。
为了找出问题,我使用了VIsual Studio的性能分析。在此分析的结果页面中,我发现上述代码的这部分使用了整个过程的70%:
    T_Setting t_s = db.T_Setting.SingleOrDefault(i => i.ID == 1);
问题是:
1.在网站的数据层(DAL)中获取实体框架中数据的正确语法是什么? 2.我可以用其他方法更改此代码以降低处理速度吗?
感谢。

0 个答案:

没有答案