Eliminação correta usando os padrões Repository e Unit Work com o Entity Framework?
Felicidades! Tenho algumas dúvidas sobre o uso da Unidade de Trabalho com o Repositório. Especialmente uma função do contexto filho do Entity Framework. Eu tenho procurado muita informação sobre este tema, mas tudo o que eu encontrei apenas diferentes tipos de uso de padrões, estou confuso e não consigo entender o pensamento principal.
1.Onde eu deveria perceber disposição e economia? -É corretamente perceber classe Disposable in Inheritance de DbContext? Depois disso realizamos em Repositório e Unidade de Trabalho ou apenas em Uni fo Work?
Onde colocar o método Salvar na unidade de trabalho ou no repositório?
Meu repositório será genérico O meu código está correto em estilo de arquiteto e outros detalhes? Por favor, diga se meus pensamentos estão errados.
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
}
Use após a unidade de trabalho no nível de lógica? Por favor me ajude a entender esse tema.
Eu quero saber, como corretamente usar padrões de unidade de trabalho e repositório juntos, especialmente incluem DBContext.Also eu quero saber onde usar algumas operações como Dispose. Quais operações devem estar em UnitOfWork normalmente, Save etc. Como dispor contexto no repositório?