我注意到微风1.4.6 + EF 6比旧版的微风+ EF 5慢得多 代码完全相同,这里是我的请求的屏幕截图(首先是旧版本):
我注意到文字不可读,为了阅读它,右键点击图片,在新标签中显示图片。
为什么会这样? (我已经多次清除缓存,在不同的浏览器中测试过等。)
修改
今天我已经抽出时间来解决这个问题了,但我无法深入了解它,我已经创建了包含6个实体的Test项目,以下是两个最复杂实体的示例:
public class Exercise
{
public int ExerciseId { get; set; }
public string Name { get; set; }
public ICollection<ExerciseLevel> ExerciseLevels { get; set; }
}
public class ExerciseLevel
{
public int LevelId { get; set; }
public int Number { get; set; }
public int ExerciseId { get; set; }
public Exercise Exercise { get; set; }
}
它们配置了流畅的API,例如:
modelBuilder.Entity<Exercise>()
.HasMany(e => e.ExerciseLevels)
.WithRequired(e => e.Exercise)
.HasForeignKey(e => e.ExerciseId);
我只有一个微风控制器:
[BreezeController]
public class ServiceController : ApiController
{
private readonly EFContextProvider<DatabaseTest> _contextProvider = new EFContextProvider<DatabaseTest>();
[HttpGet]
public string Metadata()
{
return _contextProvider.Metadata();
}
// GET api/<controller>
[HttpGet]
public IQueryable<MuscleGroup> MuscleGroups()
{
return _contextProvider.Context.MuscleGroups;
}
[HttpGet]
public IQueryable<Muscle> Muscles()
{
return _contextProvider.Context.Muscles;
}
[HttpPost]
public SaveResult SaveChanges(JObject saveBundle)
{
return _contextProvider.SaveChanges(saveBundle);
}
}
当我输入URL:breeze / Service / Metadata时,完成需要大约3000毫秒。图片如下:
我不知道为什么会这样:(