Korrekte Entsorgung von Repository und Unit-Arbeit mit Entity Framework?
Prost!Ich habe einige Zweifel über die Verwendung dieser Einheit Arbeiten mit dem Repository. Speziell die Rolle des Kindes Rahmen von Entity Framework.
Ich suchte eine Menge Informationen zu diesem Thema, aber alle die ich gefunden habe, nur verschiedene Arten von Muster verwenden, ich bin verwirrt und ich kann nicht verstehen, main denken.
1.Wo sollte ich erkennen, Entsorgung und speichern?
-Ist es richtig realisieren verfügbaren Vererbung Klasse DbContext?
Nach erkennen, dass im Repository und Unit of Work oder einfach nur in Uni fo Arbeiten?
-Wo setzen Sie die Methode Save in der Einheit der Arbeit oder Repository?
Mein repository Generisch
Ist mein code korrekt ist, im Architekten-Stil und andere details?Bitte sagen, wenn mein denkt, sind falsch.
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
}
Den Einsatz nach Unit of Work auf der Logik-Ebene?
Bitte helfen Sie mir zu verstehen, dieses Thema.
Ich will wissen, wie es richtig ist, Einheit Von Arbeit und Repository-Muster zusammen, vor allem DBContext.Auch ich will wissen, wo Sie verwenden einige Operationen, wie Entsorgen.
Die Operationen sollten in UnitOfWork Häufig, Speichern usw.
Wie die Entsorgung Kontext im repository?
InformationsquelleAutor TuffGong | 2012-08-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ein tolle Artikel auf die Implementierung der unit-arbeiten mit MVC.
Ich normalerweise entsorgen Sie das Gerät, sobald der Geschäftsvorgang abgeschlossen ist. Zum Beispiel, wenn die Aktion war die Erstellung einer Übergeordneten, einige Kinder und befestigt Sie ich entsorgen, sobald das fertig ist.
Hinzugefügt mehr detail in Bezug zu oben:
Wiederlesen In Ihrer Frage, es klingt wie Sie möchten mehr Informationen über die Theorie der Einheit von Arbeit anstatt der tatsächlichen Umsetzung, ich entschuldige mich.
Hier ist ein besserer Artikel auf der MSDN-Website verwandt mit, aber ich fasse für Sie.
In der Regel verwende ich die unit of work pattern zusammen zu bringen alle entsprechenden Repositorien, zu lösen Parallelität Fragen, während immer noch halten die repositories zu trennen.
Ich bin mir nicht sicher, ich verstehe Ihre Frage, aber ich denke, dass Sie sich Fragen, was sein sollte, die Verwaltung des Lebenszyklus der Einheit der Arbeit?
Hier ist ein weiterer SO ein post in diesem Zusammenhang aber die Zusammenfassung ist das, was der Eigentümer der Einheit von Arbeit für den moment, und es ist, wie Sie setup den Umfang Ihrer Arbeitseinheit. Zum Beispiel kann Es sein, das Geschäft Befehl, oder eine MVC-Aktion.
Meinst du, wo sollten Sie sein, die Entsorgung des DbContext? Ich glaube, dass es sollte in der Einheit der Arbeit. Wenn Sie bei der Erstellung/Entsorgung von mehreren Kontexten in einer Einheit von arbeiten, sollte man vielleicht trennen Sie sich in 2 verschiedenen Einheiten.
Ihre Einheit der Arbeit ist das handle auf den Kontext, und der Transaktionen, und sollte, enthalten die Logik, um zu verhindern, dass doppelte updates, weil diese Ihre save-Funktion gesteuert werden soll, durch Ihre Einheit arbeiten.
Aktualisiert, um mehr details über das unit of work pattern
Wahrscheinlich werde ich das sein, ein Beitrag aus asp.net wie eine Art Vorlage für mein repository und unit of work Pattern:)So viel verschiedene Möglichkeiten, es zu tun, ich wollte, um eine zu finden die am besten.)Ich sah über die Verwendung von uof und repository teilen.Kann u mir sagen, über den Lebenszyklus der Anfrage uof, Parallelität, Geschäfts-Transaktionen, die mehrere Kontexte oder einiges Interessantes material über ihn?Ich benutze WCF, Entity Framework und Asp.net mvc.Ich bin neuer in der Programmierung speziell auf .net.Vielen Dank für die Hilfe:)
MSDN-Artikel ist ein großes, über die Fragen, die Sie haben, die oben aufgeführt sind. Viel Glück!
InformationsquelleAutor Mark Oreta