我正在开发一个我自己没有设置的应用程序。我目前的工作方式是编写T-SQL脚本以手动迁移数据库。这对我来说非常好。
然而,当我开始调试时,我得到了(而且我似乎并没有得到它?)很多查询似乎与迁移数据库有关。一些例子:
IF db_id(N'dbname') IS NOT NULL SELECT 1 ELSE SELECT Count(*) FROM sys.databases WHERE [name]=N'dbname'
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=@Table
我看到那些反复反复重复的那些。
到目前为止我试过这个:
public class MyConfig : DbConfiguration
{
public MyConfig()
{
SetDatabaseInitializer<DatabaseContext>(null);
}
}
...和
public DatabaseContext()
: base("DefaultConnection")
{
Configuration.LazyLoadingEnabled = false;
Database.SetInitializer<DatabaseContext>(null);
}
public DatabaseContext(string connectionString)
: base(connectionString)
{
Configuration.LazyLoadingEnabled = false;
Database.SetInitializer<DatabaseContext>(null);
}
这些断点受到攻击,因此不应再设置这些初始化程序。然而,它似乎试图对我每次加载页面时触摸的每张桌子进行某种表格扫描。
在生产中,这似乎没有发生......但是如果页面默认情况下加载10秒以上,那么很难解决(真正的)性能问题......