zoukankan      html  css  js  c++  java
  • EF实例化Context

    之前了解到EF实例化一个Entity时占用较长时间,刚刚测试了一下,使用代码如下:

    代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Diagnostics;

    namespace ConsoleApplication1
    {
        
    class Program
        {
            
    static void Main(string[] args)
            {
                Stopwatch sw 
    = new Stopwatch();
                sw.Reset();
                sw.Start();
                testEntities entity 
    = new testEntities();
                List
    <User> uselist = entity.User.Where(p => p.UserPwd == "111").ToList();
                entity.Dispose();
                sw.Stop();

                Console.WriteLine(sw.ElapsedMilliseconds.ToString() 
    + " ms" + "  count:" + uselist.Count.ToString());
                sw.Reset();
                sw.Start();

                testEntities entity2 
    = new testEntities();
                List
    <User> uselist2 = entity2.User.Where(p => p.UserPwd == "111").ToList();
                entity2.Dispose();
                sw.Stop();

                Console.WriteLine(sw.ElapsedMilliseconds.ToString() 
    + " ms" + "  count:" + uselist2.Count.ToString());

                Console.Read();

            }
        }
    }

    执行结果 :

    388MS  

    11MS

    可见EF只是第一次打开时候慢,之后就很快了

    同样用web项目测试了一下,在一个页面实例一个Entity,然后跳到另外一个页面再实例化一次Entity,结果更上面Console程序一样,第一次费时,第二次很快,其实EF是基于Ado.net 那么它新建连接也是从连接池中获取,所以第二次就快很多了。

  • 相关阅读:
    SQL Server 2005 中的分区表和索引 [轉]
    [导入]使用RDLC报表(一)
    正则表达式30分钟入门教程[轉]
    C#的TextBox控件输入测试只允许输入数字的测试:
    c#创建access数据库和数据表[转]
    [导入]使用RDLC报表(二)使用自定义数据集
    ASP.net 文件下載
    [导入]使用RDLC报表(四)钻取式报表
    [导入]使用RDLC报表(三)向RDLC报表传入参数
    C# SQL server2000中保存的图像
  • 原文地址:https://www.cnblogs.com/coolkiss/p/1635201.html
Copyright © 2011-2022 走看看