[英]MigrateDatabaseToLatestVersion performance in ASP.NET
我已经使用实体框架6继承了ASP.NET应用程序,并启用了迁移。 在我的Global.asax中,我有以下内容:
using (var context = new MyContext())
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, MyConfiguration>());
context.Database.Initialize(true);
}
问题是,每次我的应用程序需要启动时(例如,由于IIS将其关闭),该逻辑都会运行,即使在大多数情况下也无需执行迁移。 这会大大减慢请求的处理速度。
我在这里有什么选择? 什么是最佳做法? 我可以禁用此功能,并使用Package Manager Console手动执行迁移,但是这样做的目的超出了预期(尽管如果没有其他选择,我准备这样做)。
EF6自动迁移似乎引入了几个问题(不仅是性能问题),因此EF Core团队决定将其从EF Core中删除(您可以在此处阅读一些理由)。
由于EF Core是EF6的后续产品(实体框架的未来),因此建议(最佳实践)似乎是禁用它并手动执行迁移。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.