Modello di repository in c #
-
06-07-2019 - |
Domanda
Come implementare il modello di repository in C # .net 2.0?
Mostrami la struttura di base. Perché non abbiamo DataContext in .net 2.0.
Soluzione
DataContext non è un modello di repository, è il modello di record attivo. Una volta compresa la differenza tra i due, capirai la risposta alla tua domanda.
Active Record è una vista orientata agli oggetti sui tuoi dati nel database.
Un repository è un oggetto che vive nel tuo modello di dominio, se ne hai uno, ciò significa che la sua interfaccia pubblica è completamente disaccoppiata dalla tua tecnologia di accesso ai dati.
Si utilizza LINQ o SQL per interrogare il proprio database con DataContext, e ha senso poiché LINQ e SQL sono molto bravi a interrogare i dati.
Ma quando esegui una query sul tuo repository, poiché parliamo più dell'oggetto Domain che dei dati, utilizziamo il Pattern di specifica che in realtà è un mini linguaggio di query più adatto al tuo dominio.
In poche parole, Active Record = Accesso a database e dati, Repository = Modello di dominio. Idealmente, il tuo cliente deve essere in grado di comprendere il design del tuo modello di dominio (quindi, tra l'altro, il tuo repository e le classi di specifica), ma non capisce cosa sia un DataContext, dal momento che è il sistema idraulico dello sviluppatore.
Per essere chiari, "Un esempio del modello di repository in C # 2.0" non è proprio quello che dovresti cercare, "Un esempio del modello di repository" lo è, ma l'implementazione interna utilizzerà ADO classico anziché DataContext.
Altri suggerimenti
Potresti vedere un esempio di ASP.NET qui , ma penso che tu possa capire l'idea comunque.