J'essaie de travailler un peu avec Entity Framework et j'ai une question concernant la séparation des couches.
J'utilise généralement l'approche UI -> BLL -> DAL et je me demande comment utiliser EF ici.
Mon DAL serait généralement quelque chose comme
GetPerson(id)
{
// some sql
return new Person(...)
}
BLL:
GetPerson(id)
{
Return personDL.GetPerson(id)
}
UI:
Person p = personBL.GetPerson(id)
Ma question est maintenant: puisque EF crée mon modèle et DAL, est-ce une bonne idée d'envelopper EF dans mon propre DAL ou est-ce juste une perte de temps?
Si je n'ai pas besoin d'envelopper EF, est-ce que je placerais toujours Model.esmx dans sa propre bibliothèque de classes ou serait-ce bien de le placer à l'intérieur de mon BLL et d'y travailler?
Je ne vois pas vraiment la raison d'envelopper EF dans mon propre DAL mais je veux savoir ce que font les autres.
Donc, au lieu d'avoir ce qui précède, je laisserais de côté le DAL et je ferais simplement:
BLL:
GetPerson(id)
{
using (TestEntities context = new TestEntities())
{
var result = from p in context.Persons.Where(p => p.Id = id)
select p;
}
}
Que faire?