干杯!我对将工作单元与存储库一起使用有些疑问。特别是实体框架中的子上下文角色。我已经搜索了很多关于这个主题的信息,但我发现的只是不同类型的使用模式,我很困惑,我无法理解主要思想。
1.我应该在哪里实现配置和保存?- 在 DbContext 的 Inheritance 类中是否正确实现 Disposable?之后在 Repository 和 Unit of Work 中实现还是在 Uni fo Work 中实现?
- 将方法保存在工作单元或存储库中的位置?
我的存储库将是通用的 我的代码在架构师风格和其他细节上是否正确?请告诉我的想法是否错误。
interface IRepository : IDisposable
{
void Create();
void Delete();
void Update();
void Get();
T getSomeByExpression()
...Some another costum operations
...should I remember about Save here?
}
class Repository : IRepository
{
SomeContext context = new SomeContext();
...Using using(context = new SomeContext()){} in functions??
...
....Disposing?
}
interface IUnitOfWork : IDisposable
{
...Which methods I should realize?
Commit()
Save()
...Need some another methods like rollback, Attach() Add() or Dispose or something else?
}
class UnitOfWork
{
...Collection of Repository
}
在逻辑级别的工作单元之后使用?请帮助我理解这个主题。
我想知道,如何正确使用 Unit Of Work 和 Repository 模式,特别是包括 DBContext。我还想知道在哪里使用一些操作,如 Dispose。UnitOfWork一般应该在哪些操作,Save等。如何在repository中配置上下文?