Estoy tratando de trabajar un poco con Entity Framework y recibí una pregunta sobre la separación de capas.
Usualmente uso el enfoque UI -> BLL -> DAL y me pregunto cómo usar EF aquí.
Mi DAL generalmente sería algo así como
GetPerson(id)
{
// some sql
return new Person(...)
}
BLL:
GetPerson(id)
{
Return personDL.GetPerson(id)
}
Interfaz de usuario:
Person p = personBL.GetPerson(id)
Mi pregunta ahora es: dado que EF crea mi modelo y DAL, ¿es una buena idea envolver EF dentro de mi propio DAL o es solo una pérdida de tiempo?
Si no necesito envolver EF, ¿seguiría colocando mi Model.esmx dentro de su propia biblioteca de clases o estaría bien simplemente colocarlo dentro de mi BLL y trabajar allí?
Realmente no puedo ver la razón para envolver EF dentro de mi propio DAL, pero quiero saber qué están haciendo otras personas.
Entonces, en lugar de tener lo anterior, dejaría de lado el DAL y simplemente haría:
BLL:
GetPerson(id)
{
using (TestEntities context = new TestEntities())
{
var result = from p in context.Persons.Where(p => p.Id = id)
select p;
}
}
¿Qué hacer?