我正在尝试使用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
实例创建存储库。这是有效的approch吗?
还有另一个approch,我会在应用程序生命周期中创建IDocumentStore
实例并使用该实例吗?