问题描述
我想同时将多个DbSet加载到DbSet的Local-Collection属性,以提高性能。这些表在数据库中没有外部约束连接。我大约有20个DbSet可以同时加载,每个DbSet需要0.3秒。这样总共6秒钟。
using (var context = new System.Data.Entity.MyDbContext())
{
context.table1.Load();
context.table2.Load();
// Processing the local data
context.table1.Local.foreach(t => DoStuff());
}
我尝试过
await Task.WhenAll(context.table1.LoadAsync(),context.table2.LoadAsync());
但是您不能同时对多个查询使用相同的上下文。而且,为每个查询创建新的上下文并不能使其更省时。
Parallel.Invoke还仅加载它正在调用的最后一个DbSet.Load()。
那么有人知道该问题的另一种最佳实践吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)