非SQL数据源的存储库模式

时间:2017-04-21 22:21:15

标签: c# repository-pattern

我想创建一个N层应用程序,它包含业务层和存储库层,用于处理SQL数据库以外的数据源,例如,如果我想实现存储库以从文本文件或XML文件中读取数据并查询包含' C#'的行数或计算平均分等

似乎如果用户每次想要查询文本文件中的数据时都会从UI调用一个调用,那么大文件就不会有效,因为它每次都会通过层调用到存储库。需要将所有数据加载到内存中,然后每次在返回它之前进行查询以显示给用户 - 是否有一种方法可以加载所有数据一次,然后允许对其执行多个查询,或者必须是每次被查询之前都加载到内存中?

是否有任何有效的方法为非SQL数据库数据源设置N层设计,而无需每次都将大量数据/文本文件加载到内存中?

1 个答案:

答案 0 :(得分:1)

您可以使用.net中的内存缓存,然后让后台进程定期更新缓存。您的查询将从缓存中运行。

感谢。