我在实现 repository and service pattern 时遇到一些困难在我的 RavenDB 项目中。主要问题是我的存储库界面应该是什么样子,因为在 RavenDB 中我使用了几个索引来进行查询。
假设我需要获取 parentid 等于 1 的所有项目。一种方法是使用 IQueryable List() 并获取所有文档,然后添加一个 where 子句来选择 parentid 等于 1 的项目。这看起来像一个坏主意,因为我不能在 RavenDB 中使用任何索引功能。所以另一种方法是在存储库中使用类似 IEnumerable Find(string index, Func predicate) 的方法,但这似乎也是一个坏主意,因为它不够通用,如果我要从 RavenDB 更改,则需要我实现此方法到一个普通的 sql 服务器。
那么我怎样才能实现一个通用的存储库,同时仍然获得 RavenDB 中索引的好处呢?
最佳答案
关于c# - 使用 RavenDB 实现存储库和服务模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5397777/