Jes*_*uez 6 repository-pattern
我知道这是一个奇怪的问题:)
我真的很想以正确的方式做事,我有一个疑问.
我知道使用DI制作界面...
我的问题是:
最好有一个像"SaveChanges"这样的方法,你必须在每次添加/删除/任何对象时手动调用它?
_repo.Add(blah);
_repo.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
或者最好在每个修改数据的方法中保存更改?
另一方面,我应该始终打开连接还是要关闭它?
我正在学习DB4O并且我有一个Close方法,当我必须在另一个地方使用repo时我会调用它(就像在另一个窗口中,我在打开窗口之前关闭).
谢谢.
我个人喜欢将 SaveChanges 方法分开。我认为它可以为消费应用程序提供更大的灵活性。这意味着它可以有更多的重用。
例如,将其分开允许采用“事务”方法,其中可以不断修改存储库,然后如果一切都可以接受,则调用 save 方法。
另一方面,如果您想立即保存而不需要单独调用,则可以创建另一个版本的存储库,该版本在 CRUD 操作期间调用 save 方法。