Sto provando a lavorare un po 'con Entity Framework e ho una domanda riguardante la separazione dei livelli.
Di solito utilizzo l'interfaccia utente - > BLL - > Approccio DAL e mi chiedo come usare EF qui.
Il mio DAL di solito è qualcosa di simile a
GetPerson(id)
{
// some sql
return new Person(...)
}
BLL:
GetPerson(id)
{
Return personDL.GetPerson(id)
}
UI:
Person p = personBL.GetPerson(id)
La mia domanda ora è: poiché EF crea il mio modello e il DAL, è una buona idea avvolgere EF all'interno del mio DAL o è solo una perdita di tempo?
Se non ho bisogno di riavvolgere EF, inserirò ancora il mio Model.esmx all'interno della sua libreria di classi o andrebbe bene inserirlo nella mia BLL e lavorarci?
Non riesco davvero a vedere il motivo per avvolgere EF all'interno del mio DAL, ma voglio sapere che cosa stanno facendo gli altri.
Quindi invece di avere quanto sopra, vorrei lasciare fuori il DAL e basta fare:
BLL:
GetPerson(id)
{
using (TestEntities context = new TestEntities())
{
var result = from p in context.Persons.Where(p => p.Id = id)
select p;
}
}
Che cosa fare?