【发布时间】:2019-03-25 18:41:37
【问题描述】:
我为 dapper、ado.net 和 EFCore 创建了一个比较程序。我的问题是,如果我调用第一个 dapper 大约需要 7 秒,第三个 EFCore 大约有 6 秒,但是如果我首先调用 EFCore 它大约有 7 秒,第三个 dapper 大约有 5 秒。 这是我调用每个访问的代码。
for (int i = 0; i < 100; i ++)
{
string dapperSync = dapperService.SelectDapperSync();
}
for (int i = 0; i < 100; i++)
{
string adoSync = adoService.SelectAdoSync();
}
for (int i = 0; i < 100; i++)
{
string efCoreSync = eFCoreService.SelectEFCoreSync();
}
我想知道为什么会这样?数据库或程序中是否有任何缓存、元数据?我尝试手动关闭连接,而不是只使用“使用”,但结果是一样的。我使用 MSSQL 和 .NET Core 2.1。有什么办法可以修复吗?
【问题讨论】:
标签: c# asp.net .net sql-server .net-core