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 那么它新建连接也是从连接池中获取,所以第二次就快很多了。

  • 相关阅读:
    day10T3改错记
    day9T1改错记
    day8T1改错记
    洛谷P5068[Ynoi2015]我回来了(bfs+bitset)
    BZOJ4939[Ynoi2016]掉进兔子洞(莫队+bitset)
    [学习笔记]dsu on tree
    [学习笔记]FWT(快速沃尔什变换)
    [学习笔记]FMT(快速莫比乌斯变换)&子集卷积(待填坑)
    POJ-1743-Musical Theme(后缀数组)
    后缀数组模板
  • 原文地址:https://www.cnblogs.com/coolkiss/p/1635201.html
Copyright © 2011-2022 走看看