Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Organizzazione classi EF
giovedì 13 dicembre 2012 - 12.06
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
|
.NET 4.0
Gemini
Profilo
| Expert
856
messaggi | Data Invio:
gio 13 dic 2012 - 12:06
Ciao a tutti
vorrei un consiglio su come organizzare le classi quando si utilizza EF.
Ho queste 3 classi: Aziende, Aziende_Photos, Aziende_Impostazioni e come chiave utilizzo codice_aziende.
Queste classi sono state definite con EF 4.x POCO Entity Generator.
Ho definito una classe Azienda che si occuperà di esporre alle altre classi del progetto i metodi e proprietà della classe Aziende.
Vorrei quando inizializzo la classe Azienda(Azienda azienda = new Azienda(codice_azienda)) recuperare tutte le informazioni di una data azienda.
Stavo pensando di creare 3 classi: tipoAzienda, tipoAziendaImpostazioni e tipoAziendaPhotos. Queste 3 classi hanno solo proprietà uguali a quelle definite in Aziende, Aziende_Photos e Aziende_Impostazioni. Quindi avrò:
public Codice_Azienda
{
get{}
set{}
}
...
Più alte proprietà del tipo:
public Big
{
get
{
// restituisci percorso immagine
}
Ora, per recuperare i dati, nella classe Azienda definisco:
tipoAziendaImpostazioni azienda_impostazioni = new tipoAziendaImpostazioni();
List<tipoAziendaPhotos> azienda_photos = new List<tipoAziendaPhotos>();
public Codice_Azienda
{
get{}
set{}
}
public Ragione_Sociale
{
get{}
set{}
}
Definisco il costruttore:
public Azienda(string codice_azienda)
{
tipoAzienda azienda = DataBanker.Azienda(codice_azienda); //Richiama un metodo che recupera i dati dal db con Linq to Entities e restituisce un tipoAzienda
Codice_Azienda = azienda.Codice_Azienda;
Ragione_Sociale = azienda.Ragione_Sociale;
tipoAziendaImpostazioni azienda_impostazioni = DataBanker.AziendaImpostazioni(codice_azienda); //Richiama un metodo che recupera i dati dal db con Linq to Entities e restituisce un tipoAziendaImpostazioni
List<tipoPhotos> azienda_photos = DataBanker.AziendaPhotos(codice_azienda);
}
La classe DataBanker è l'unica che accede al db tramite Linq to Entities. In questo modo se decido di non utilizzare più EF, l'unica classe che devo modificare è questa.
Questa mia organizzazione delle classi non mi convince molto perchè mi sembra di ripetere alcuni dati e alcune operazioni. Per esempio scrivendo: var result = ctx.Azienda.FirstOrDefault(a => a.Codice_Azienda = codice_azienda); recupero in una sola query tutte le informazioni di un'azienda invece di eseguire 3 query. Ma non mi viene in mente nessun altra organizzazione delle classi. Io voglio rendere indipende il mio progetto dal tipo di db e metodo che uso per recuperare i dati.
Questa mia soluzione potrebbe andare bene o ci sono soluzioni più efficienti?
Grazie mille
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !