did*_*man 6 code-first ef4-code-only
我正在尝试实现可能需要使用Redis的缓存模式.此模式的问题是我需要禁用Configuration.ProxyCreationEnabled,然后重新启用它以避免Web场中出现任何问题.
我想要做的是从IQueryable访问DbContext,所以我可以做一次而不是到处.最简单的方法是将正在使用的DbContext传递给我的缓存扩展,但是我遇到了这个帖子:
有没有办法使用EF 4.1 Code Fist(DbSet等)以类似于上面链接的方式访问DbContext?
我试图自己找到这个但是很难在IQueryable中使用反射从引用的DbSet中找到基类.
在IQueryable后面的Access DataContext中提到的解决方案是一个黑客,不应该使用.它依赖于实现IQueryable的类中的私有成员变量的名称.这意味着实现类可能会在将来的EF/.NET Framework版本中发生更改并破坏您的代码.由于无法通过IQueryable接口访问DbContext,因此应将其传递到缓存扩展中,以避免对IQueryable实现进行假设.这样做还可以更清楚地在缓存界面中建立对DbContext的依赖,而不是将其隐藏在实现中.
| 归档时间: |
|
| 查看次数: |
2577 次 |
| 最近记录: |