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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top