我试图弄清楚使用 winform 项目中的存储库访问 RavenDb 数据库中的会话对象的最佳模式是什么。
假设我有MainForm.cs
和。NewForm.cs
MyRavenRepository.cs
我是否应该在存储库中获取当前IDocumentStore
实例以将值分配给同一类中的私有变量,而不是在类似的操作中使用
private IDocumentStore store;
public MyRavenRepository(IDocumentStore store)
{
this.store = store;
}
public void Create(Car car)
{
using (IDocumentSession session = store.OpenSession())
{
session.Store(car);
session.SaveChanges();
}
}
并且每个表单都会创建带有IDocumentStore
实例的存储库。这是有效的方法吗?
是否有另一种方法可以创建IDocumentStore
实例并在应用程序生命周期中使用该实例?