Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EntityFramework DbContext构造函数需要5秒以上-性能问题_C#_Entity Framework_Asp.net Web Api2 - Fatal编程技术网

C# EntityFramework DbContext构造函数需要5秒以上-性能问题

C# EntityFramework DbContext构造函数需要5秒以上-性能问题,c#,entity-framework,asp.net-web-api2,C#,Entity Framework,Asp.net Web Api2,AuthContext的类定义,它几乎有30-35个数据库集 public class AuthContext : IdentityDbContext<ApplicationUser> { internal static string connectionstring { get { return connection_string;

AuthContext的类定义,它几乎有30-35个数据库集

    public class AuthContext : IdentityDbContext<ApplicationUser>
    {
        internal static string connectionstring
        {
            get
            {
                return connection_string;
            }
        }
        public AuthContext() : base(connectionstring)
        {

        }
        public DbSet<Class1> Class1 { get; set; }
        public DbSet<Class2> Class2 { get; set; }
    }
Authcontext构造函数的加载大约需要5-6秒,我们如何初始化singleton对象并将其用于所有WebAPI请求

我阅读了文档,发现EF确保为每个数据集创建单例对象

请建议更改以提高性能


提前谢谢

我建议您分析生成的SQL查询,而不是创建单例上下文。您在哪里设置连接字符串?可能构造函数得到的是一个空字符串,这会导致性能问题??连接字符串是一个全局静态属性。获取{return connection_string;(从公共位置的配置读取)}@SlavaUtesinov在构造函数调用时EF是否生成任何SQL?@johnepraimtugado我总是获取正确的连接字符串。
public class AuthRepository : IDisposable
{
    private AuthContext _ctx;
    public AuthRepository()
    {
        _ctx = new AuthContext();
    }

    public void somemethod(Class1 item)
    {
        _ctx.Class1.add(item);
        _ctx.SaveChanges()
    }
}