【发布时间】:2010-12-14 23:06:21
【问题描述】:
我遇到了一个问题,我实现了一个使用 LINQ 实体的 WCF 服务...要生成对服务调用的响应内容,需要大量的 LINQ/SQL 选择...
无论如何,该服务没有对数据库进行任何更新或插入,所以我想实现一种 LINQ 实体的“缓存”(数据库内容也没有以数百万计增长......它确实会限制在大约 63.000 个主条目(带有子依赖项),例如用户 -> 订单)
此外,服务响应不必包含 100% 的 up2date 数据,因此后台数据的更新不应该在这里考虑
好的,所以目前我的计划如下:
- 使用 LINQ 从数据库中获取所有相关表,以便将所有对象“缓存”(ToList() 函数应该这样做,对吗?)
- 每隔 x 分钟/小时通过一种智能线程替换实体对象(例如再次从 db 中获取数据,锁定当前缓存的 linq-DataContent 并将其替换为新的......)
那么,您的意见是什么...您认为我应该/可以这样做吗?我确实需要增加服务的响应时间,但优化 SQL(例如较少的选择)对我来说并不是一个真正的选择,因为所有 LINQ 的东西都已经实现了..
提前致谢!
【问题讨论】:
标签: c# sql linq wcf linq-to-entities