3

我在多个项目和解决方案中使用 RavenDb 来访问三个不同的数据库,这些数据库都是同一产品的一部分。例如,我有多个 MVC 项目,它们从以“web”为中心的数据库和“后端”数据库中获取用户信息和一些数据,使用“-”作为 id 覆盖(但我只需要在“网络”数据库)。然后我有另一个由服务(以及 MVC 项目)使用的“后端”数据库。最后是我由另一组服务使用的第三个临时/临时数据库来构建后端数据库。当然,所有这些都可以从不同的类库甚至控制台测试、种子和集成测试应用程序中访问。

管理所有这些变得相当麻烦。每次我创建一个访问数据库的新控制台应用程序或类库时,我都必须为每个项目设置配置和 raven 包,确保构建索引等......更不用说在所有 nuget 更新上运行更新,或者就我而言,安装新的不稳定版本的服务器/客户端二进制文件。

有没有更简单的方法来管理这个?

我试图将 DocumentStore 创建和初始化以及索引创建抽象到它自己的项目中并引用它。但是其他项目必须从包目录中手动添加 newtonsoft.json(和 nlog)。

同样,当我尝试将 DocumentStore 抽象为具有静态属性的类时,我得到了以下信息: StackTrace of un-disposed document store Recorded。请确保在测试中处理任何文档存储,以避免测试中的竞争条件。

有人对处理这些问题有任何想法吗?

谢谢

4

1 回答 1

-2

我不认为手动添加引用是一个大问题,但是您也可以添加实际的 nuget 引用。请注意,DocumentStore 未处理错误仅在不稳定(调试版本)中发生,并且不会在发布版本中发生。

于 2012-04-04T21:14:57.633 回答