C# ef6首次运行问题
我有一个45个实体的申请。其中一个具有递归关系 这是我的dbContext类:C# ef6首次运行问题,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我有一个45个实体的申请。其中一个具有递归关系 这是我的dbContext类: public class Context: DbContext { public Context() { Configuration.LazyLoadingEnabled = false; Configuration.ProxyCreationEnabled = false; base.Configuration.ValidateOnSaveEnable
public class Context: DbContext
{
public Context()
{
Configuration.LazyLoadingEnabled = false;
Configuration.ProxyCreationEnabled = false;
base.Configuration.ValidateOnSaveEnabled = false;
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Level>().HasMany(l => l.Children).WithOptional(l => l.Parent).HasForeignKey(l => l.ParentId);
Database.SetInitializer<Context>(null);
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
但我有一个大问题,我第一次跑步需要很长时间。在localhost中,响应需要10秒,在服务器中,响应需要20到30秒
问题是什么?我认为您在初始化上下文时遇到了视图构建问题
请阅读以了解如何通过预生成视图来改进第一次启动。数据库是否在同一台主机上运行?您是否确认是同一个表引用导致了问题?@Robert否。在localhost中,数据库在本地sql中,在服务器中,数据库在服务器中。@kjbartel我一点也不知道。我还不确定问题是否来自级别表。除非您使用专用服务器,否则可能需要很长时间。您可以直接在数据库上运行一些基准查询,以比较本地系统和服务器的性能。
public class Level
{
public int LevelId { get; set; }
public string Name { get; set; }
public int? ParentId { get; set; }
public Level Parent { get; set; }
public List<Level> Children { get; set; }
}