Pas*_*cal 4 entity-framework entity-framework-6
从我的集成测试:
// Act
Stopwatch w = new Stopwatch();
w.Start();
userService.Create(userDTO);
w.Stop();
public void Create(UserDTO userDTO)
{
var user = userDTO.ToEntity();
_context.Entry(user).State = EntityState.Added;
_context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
6,2秒做"sql插入"是疯了.我已经看到应用程序用户在第一次打开他们使用全年的项目时抱怨.所以每天都要等6秒......
我认为EF6的预热时间有所改善?
我能做些什么来改善这种悲惨的行为吗?
不花时间插入简单数据.EF在内存中创建模型,即您花费的时间.
EF创建实体数据模型并在您第一次对上下文执行操作时执行视图生成(而不是数据库视图).看看这篇博客文章.
通过使用预先生成的视图来减少模型加载时间,请查看此处以提高性能.
要提高性能,可以在启动应用程序时初始化上下文异步.注意多线程问题.
using (var context = new MyContext())
{
context.Database.Initialize(false);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3615 次 |
最近记录: |