Der*_*ğlu 5 c# .net-core asp.net-core ef-core-2.0
我正在处理 Entity Framework Core DbContext 预热时间。我有非常大的 DbContext,我正在使用 AddDbContextPool() 选项注册 DbContexes,该选项将 DbContext 注册为单例,应用程序重用它。
在早期版本的 EF 中,为了加快应用程序启动时间,应用了以下解决方法:使用缓存 DbModelStore、生成预编译视图和/或使用 NGen 生成实体框架的预编译版本以避免抖动。
但是,我没有看到在 Entity Framework Core 上应用这些的任何有效方法。我什至找不到任何其他方法来避免 DbContext 的初始启动/蠕虫启动时间。
我们的应用程序的蠕虫启动时间大约为 30+ 秒。
当我的应用程序第一次启动时,我尝试初始化 DbContextes 但这似乎不是一个优雅或事件负担得起的解决方案。
Entity Framework Core 团队 (Github) 上有对编译视图的功能请求,但是此功能没有截止日期。
我需要知道是否有任何我可以应用的解决方法和/或解决方案。
谢谢
小智 1
第一次启动很慢,因为 EF 配置表映射。您可以做的最重要的事情是重新设计 dbcontext。您必须将配置拆分到不同的上下文中。一个上下文必须包含几个在含义上相关的实体(如 DDD 中所做的那样)。例如UserDbContext(用于授权。提供用户、令牌、个人数据...)、CustomerDbContext(提供所有客户数据:客户、联系人、合同、报价...)
| 归档时间: |
|
| 查看次数: |
3240 次 |
| 最近记录: |