我们的数据网格存在架构问题。网格支持使用包含上述所有参数的 linq2entity 查询进行搜索、分页和排序。
在某些页面上,网格不应显示来自数据库的内容(例如列“名称”),而是由资源提供者加载的已翻译资源。
我们的资源提供者从数据库中获取翻译并将它们缓存到应用程序缓存中,以避免不必要地访问数据库。
此时,我们有以下几种可能:
- 在数据库上没有搜索、排序和分页,因此加载所有行,然后从资源提供程序加载翻译,然后在应用程序中进行搜索、排序和分页。
性能不好,因为数据库很大 - 对数据库进行搜索、排序和分页,然后加载资源以获取结果。
显示的值将与搜索和排序配置不匹配 - 在 linq 查询中直接从数据库中获取资源。
无法使用资源提供者缓存。与资源提供者文本的加入将非常糟糕和缓慢
每种可能性都很糟糕,但我想不出另一种解决方案。有什么好的建议吗?这些问题在其他软件中是如何解决的?