tor*_*rhu 5 c# entity-framework-core .net-core
我想要一种同时查询数据库中的实体和未保存的更改的方法。这段代码完成了这项工作,但它比仅仅查询数据库至少慢十倍。有什么建议我该怎么做吗?
public ICollection<T> QueryWithLocal(
Expression<Func<T, bool>> filter,
Expression<Func<IQueryable<T>, IQueryable<T>>> extra)
{
if (extra != null)
{
var compiled = extra.Compile();
compiled(GetAll(filter)).Load();
var local = filter != null ? _dbset.Local.AsQueryable().Where(filter) : _dbset.Local.AsQueryable();
return compiled(local).ToList();
}
else
{
GetAll(filter).Load();
return filter != null ? _dbset.Local.AsQueryable().Where(filter).ToList() : _dbset.Local.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
GetAll只是返回 DbSet,如果参数不为空,则对其调用Where(filter)。
| 归档时间: |
|
| 查看次数: |
232 次 |
| 最近记录: |