我正在开发一个使用Entity Framework 4和SQL Compact 4的WPF桌面应用程序。我见过两种截然不同的仓储类
Repository
风格:
Repository
实例化一个ObjectContext
,当Repository
被垃圾回收时,ObjectContext
也会被处理。ObjectContext
的生命周期与应用程序的生命周期相同。一个单独的
DataStoreManager
类在应用程序的整个生命周期中创建并保存一个ObjectContext
。 当需要仓储库时,一个命令从DataStoreManager
获取ObjectContext
引用,并将其传递给新仓储库的构造函数。ObjectContext
的生命周期与应用程序的生命周期相同。
这两种方法中是否有任何一种被认为是不好的做法? 是否有绝对优势? 是否有最佳实践? 是否有一种方法比另一种更受开发人员欢迎或使用? 谢谢您的帮助。