非 SQL 数据源的存储库模式
Repository pattern for non SQL data sources
我想创建一个由业务层和存储库层组成的 N 层应用程序来处理 SQL 数据库以外的数据源,例如,如果我想实现一个存储库以从中读取数据文本文件或 XML 文件并查询包含 'C#' 的行数或计算平均分数等
似乎如果用户每次想要查询文本文件中的数据时都从 UI 调用,那么对于大文件来说效率不高,因为它会通过层进行调用每次都到存储库,需要将所有数据加载到内存中,然后每次查询,然后再将其返回显示给用户——有没有一种方法可以一次加载所有数据,然后允许执行多个查询在它上面还是必须在每次被查询之前加载到内存中?
有没有什么有效的方法可以针对非 SQL 数据库数据源进行 N 层设计,而不必每次都将大量 data/text 文件加载到内存中?
您可以使用 .net 中的内存缓存,然后让后台进程定期更新缓存。您的查询将 运行 关闭缓存。
谢谢。
我想创建一个由业务层和存储库层组成的 N 层应用程序来处理 SQL 数据库以外的数据源,例如,如果我想实现一个存储库以从中读取数据文本文件或 XML 文件并查询包含 'C#' 的行数或计算平均分数等
似乎如果用户每次想要查询文本文件中的数据时都从 UI 调用,那么对于大文件来说效率不高,因为它会通过层进行调用每次都到存储库,需要将所有数据加载到内存中,然后每次查询,然后再将其返回显示给用户——有没有一种方法可以一次加载所有数据,然后允许执行多个查询在它上面还是必须在每次被查询之前加载到内存中?
有没有什么有效的方法可以针对非 SQL 数据库数据源进行 N 层设计,而不必每次都将大量 data/text 文件加载到内存中?
您可以使用 .net 中的内存缓存,然后让后台进程定期更新缓存。您的查询将 运行 关闭缓存。
谢谢。