niemand liebte meine erste Frage über diese Wiederverwendung: Creating Entity Framework objects with Unity for Unit of Work/Repository patternRahmen Unity - Instanz
so habe ich es geschafft, es zu etwas umformulieren Sie ohne einzuschlafen/verlieren den Willen zum Leben lesen kann.
Ich bin ein Objekt erstellen, DataAccessLayer, die zwei Schnittstellen im Konstruktor: IUnitOfWork und IRealtimeRepository:
public DataAccessLayer(IUnitOfWork unitOfWork,
IRealtimeRepository realTimeRepository)
{
this.unitOfWork = unitOfWork;
this.realTimeRepository = realTimeRepository;
}
Nun wird der Konstruktor für die Implementierung von IRealtimeRepository nimmt auch einen IUnitOfWork Parameter:
public DemoRepository(IUnitOfWork unitOfWork)
{
this.unitOfWork = unitOfWork;
}
im Unity Container-Setup, ich die beiden Implementierungen dann hinzu:
container.RegisterType<IUnitOfWork, communergyEntities>();
container.RegisterType<IRealtimeRepository, DemoRepository>();
, was passiert ist, dass Unity 2 neue Instanzen von IUnitOfWork erstellt (eigentlich ein Datum Entity Framework Kontext), ein für den DataAccessLayer Konstruktor, ein für den DemoRepository Konstruktor
Da dies für die Einheit des Arbeitsmusters ist, ist es ziemlich wichtig, dass dieselbe Instanz wiederverwendet wird. Irgendwelche Ideen? Ich sehe ähnliche Fragen vor gefragt worden, aber nicht
c'est magnifique! Merci Monsieur! – TobyEvans
Mein Vergnügen - Sie würden denken, dass die Dokumentation irgendwo Singleton erwähnen würde, nicht wahr? :) –